在Web服务调试时,出现IIS配置错误的相应解决办法
由于换了一台机器,今天在调试Web服务的时候,突然遇到各种报错,以下是我所遇到的情况及解决方案:
- 电脑上面没有安装IIS,打开控制面板->所有控制面板项->程序和功能,选择打开或关闭Windows功能,将Internet信息服务全部勾上,然后重启电脑,在浏览器中输入localhost或者127.0.0.1或者本机ip,出现IIS画面则安装成功。
- 我的项目是在.NET 4.0下编译生成,而Internet信息服务(IIS)管理器中Default Web Site中的应用程序一般默认选择.NET 2.0 framework版本,将其改为.NET4.0与项目对应
- 电脑上首先安装的是.NET framework2.0,再安装Visual Studio 2010,导致.NET 4.0没有被注册,注册方法:打开CMD,进入 C:\Windows\Microsoft.NET\Framework\v4.0.30319目录下,输入 aspnet_regiis.exe -i 进行注册
- 完成以上步骤后,再调试应用程序,出现CS0016: 未能写入输出文件“d:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\5177u\d087da43\c12930d8\9ze28k_8.dll”--“拒绝访问。”的错误信息,解决方案:找到C:\Windows\TEMP文件夹,右键属性-安全-编辑,在组或用户名中添加IIS_IUSRS用户,同时编辑权限为完全控制(写入和编辑),添加NETWORK SERVICE用户,编辑权限为写入和读取。
- 再次调试程序,运行成功!
参考:
http://www.cnblogs.com/hsapphire/archive/2010/02/21/1670494.htmlweb服务器配置不准确,.NET framework注册方法
http://blog.csdn.net/hutao1101175783/article/details/23934649 CS0016: 未能写入输出文件“d:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\5177u\d087da43\c12930d8\9ze28k_8.dll”--拒绝访问