先来看一下出现的问题代码:

访问 IIS 元数据库失败。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败。

用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权。有关如何修改元数据库权限的信息,请参见 http://support.microsoft.com/?kbid=267904。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

[HostingEnvironmentException: 访问 IIS 元数据库失败。]

问题分析:

大意就是没有服务器上当前IIS进程没有访问元数据库的权限,.NET Framework2.0也装了,应该可以支持.net的,Google一下,发现有这种问题的还不止我一个,原因就是IIS和.net Framework2.0安装顺序反了,因为我先前曾经装过VisualStudio2005,所以系统里先安装了.net Framework2.0,而这样后来装过IIS后,.net Framework未注册相关组件,不能对IIS做出修改,就会出现这种情况!其他情况也可能导致这样的情况,在这里就不提了。

解决方法:

切换到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727中,有个工具叫aspnet_regiis.exe ,运行方法如下:

1.开始–>运行–>输入cmd,运行

2.DOS窗口打开以后,在DOS窗口内进入上面的文件夹

3.输入 aspnet_regiis.exe -i -enable

问题解决了。注意:高版本的.net,请到相应目录即可找到aspnet_regiis.exe