引起这个的原因大概是现安装了.Net Framework后装的IIS导致.Net没有在IIS里注册。
在网上找了很久都是说从.net命令行工具里运行aspnet_regIIS /i就可以了(或者在类似下面的目录:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i),但是自己试了很多次都不行,后来发现还是要先卸载再安装,重新创建为应用程序才行,具体如下:
从.net命令行工具里运行 aspnet_regIIS /u 卸载,再aspnet_regIIS /i安装
然后重启IIS ,删除“默认应用程序”,然后将站点重新创建为应用程序。
另外,还有可能是ASPNET账户没有IIS所指定服务器目录的权限。在资源管理器中找到“工具-文件夹选项-查看-使用简单文件夹共享(推荐)”,把前面的勾去掉,然后在服务器指定目录上点右键,属性-安全-添加-高级-立即查找,把ASPNET这个账户添加进去,给它指定完全访问的权限。这样做了以后就会发现没有了那个错误,不过如果访问数据库可能有会提示ASPNET这个账户没有权限访问数据库。这个提示就清楚多了,把该账户在数据库中加入相应的权限就可以了。
解决方法一 重新注册.Net 2.0:
C:\WINDOWS\Microsoft.NetFrameworkv2.0.50727as.Net_regiis.exe –i
解决方法二 新建应用程序池:
新建应用程序池的步骤
1. 单击“开始”,指向“程序”,然后单击“控制面板”。
2. 双击“管理工具”,然后双击“Inte.Net 信息服务 (IIS)”。
3. 右键单击“应用程序池”,指向“新建”,然后单击“应用程序池”。
4. 在“应用程序池 ID”文本框中键入 AppPool1。
5. 单击“确定”。
将应用程序分配到应用程序池
1. 单击“开始”,指向“程序”,然后单击“控制面板”。
2. 双击“管理工具”,然后双击“Inte.Net 信息服务 (IIS)”。
3. 双击“Web 站点”。
4. 双击“默认 Web 站点”。
5. 右键单击“DebugApp1”,然后单击“属性”。
6. 在“主目录”标签中的“应用程序池”列表框中选择“AppPool1”,然后单击“确定”。
解决方法三,修改网站目录所在文件夹的访问权限:
找到当前网站目录->右键->属性->安全->添加->高级->立即查找->选择 Users 用户 ->确定->确定
解决办法:
1、新建一个应用程序池,点属性,标识,选择应用程序池的安全性帐户,本地系统,OK!
2、WEB文件夹属性中的权限添加NetWork Service帐号权限。
至此,网站可以正常运行.NET程序了