如何将VS2010的.net项目部署到iis7.5

前几天整了个虚拟云主机,装的Windows Server,打算把自己大二学C#时候写的小网站部署到iis上,之前都是在vs里面直接调试看网站效果,没想到部署到iis上还挺麻烦,一堆错误,在查询了各种资料已经咨询老师了后,特此整理详细过程。
首先,vs的项目文件夹是解决方案,带.sln文件,需要先发布成web文件(现在想想真可笑我竟然不知道,果然当时只会用工具)
如何将VS2010的.net项目部署到iis7.5_第1张图片

如何将VS2010的.net项目部署到iis7.5_第2张图片


在Windows7上安装IIS7.5,程序和功能-打开或关闭Windows功能。

如何将VS2010的.net项目部署到iis7.5_第3张图片

如何将VS2010的.net项目部署到iis7.5_第4张图片

注意!在应用程序开发功能  中一定要把ASP.NET选上,其他默认即可。

如何将VS2010的.net项目部署到iis7.5_第5张图片

如何将VS2010的.net项目部署到iis7.5_第6张图片

添加网站,选择好文件夹。

如何将VS2010的.net项目部署到iis7.5_第7张图片

直接把默认网站给停止。


编辑应用程序池,根据你vs上用的.net版本来,我用的vs2010是.net4.0,选择。注意有一个托管管道模式选择成经典,不然一会会出错(这里不明白为什么???)。

如何将VS2010的.net项目部署到iis7.5_第8张图片

好了开始访问网站吧!

如何将VS2010的.net项目部署到iis7.5_第9张图片

HTTP 错误 500.19 - Internal Server Error
无法访问请求的页面,因为该页的相关配置数据无效。
配置错误 由于权限不足而无法读取配置文件


这时候发现出现这个错误,文件权限不足,说明我们的WebSite文件夹没法被iis调用没有权限,那么需要给文件夹添加权限,如果不知道添加谁这时候最简单的方法就是去看默认网站的文件夹有哪些用户的权限,这时发现需要添加IIS_IUSRS这个权限

如何将VS2010的.net项目部署到iis7.5_第10张图片

刷新!

如何将VS2010的.net项目部署到iis7.5_第11张图片

HTTP 错误 401.3 - Unauthorized
由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面。


添加了权限还是出现这个问题,问过老师后知道了还需要添加IUSR这个权限

如何将VS2010的.net项目部署到iis7.5_第12张图片

再刷新!

如何将VS2010的.net项目部署到iis7.5_第13张图片


HTTP 错误 404.17 - Not Found
请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。


发现.net无法执行,这时候点击服务器,打开ISAPI和CGI限制。

如何将VS2010的.net项目部署到iis7.5_第14张图片

如何将VS2010的.net项目部署到iis7.5_第15张图片

如果显示你需要的.net版本被不允许就变成允许,若需要的版本在里面没有,则需要注册,在运行里面输入C:\Windows\Microsoft.NET\Framework\V4.0.30319\aspnet_regiis.exe –i
现在看到.net 4.0已经有了,改成允许

如何将VS2010的.net项目部署到iis7.5_第16张图片

如何将VS2010的.net项目部署到iis7.5_第17张图片

如何将VS2010的.net项目部署到iis7.5_第18张图片

再刷新!

如何将VS2010的.net项目部署到iis7.5_第19张图片

成功!

另外,有些情况也需要注意:

HTTP 错误 403.14 - Forbidden
Web 服务器被配置为不列出此目录的内容。


这是没有添加默认文档而且目录浏览禁用导致的,添加默认文档或者启用目录浏览就OK

如何将VS2010的.net项目部署到iis7.5_第20张图片



未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序
异常详细信息: System.InvalidOperationException: 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。


如果你是64位系统出现了这个错误需要检查一下应用程序池的设置,点击你选择的应用程序池,点高级设置-启用32位应用程序,将false改为true,试试看问题有没有解决。

如何将VS2010的.net项目部署到iis7.5_第21张图片

你可能感兴趣的:(.net,C#,IIS,Visual,Studio)