日期:2014-05-18  浏览次数:20381 次

初学ASP.Net 2.0,VS2005建立的第一个网站就运行不起来,高手看看
操作系统XP,安装了IIS和SQL 2005 Express,我在VS 2005里新建一个网站,位置为HTTP,路径http://localhost/WebSite,其他全部默认设置,但是在IDE里按Ctrl+F5,IE里却报如下错误,大家看看是哪里没配置好?

C# code
“/WebSite1”应用程序中的服务器错误。
--------------------------------------------

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

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

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

源错误: 

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

堆栈跟踪: 


[HostingEnvironmentException: 访问 IIS 元数据库失败。]
   System.Web.Configuration.MetabaseServerConfig.MapPathCaching(String siteID, VirtualPath path) +3591442
   System.Web.Configuration.MetabaseServerConfig.System.Web.Configuration.IConfigMapPath2.MapPath(String siteID, VirtualPath vpath) +9
   System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +169
   System.Web.CachedPathData.GetConfigPathData(String configPath) +389
   System.Web.CachedPathData.GetConfigPathData(String configPath) +243
   System.Web.CachedPathData.GetApplicationPathData() +68
   System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp) +3536567
   System.Web.Configuration.RuntimeConfig.GetLKGRuntimeConfig(VirtualPath path) +189

 


--------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.1433; ASP.NET 版本:2.0.50727.1433 


------解决方案--------------------
1、打开CMD,进入 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
2、输入 aspnet_regiis.exe -i
稍等片刻,注册成功就解决问题了。
接着还会出现“未能创建 Mutex”的问题 
解决方法:
1、先关闭你的VS2005。
2、打开 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 找到你刚才调试的程序的名字的目录删除它。
3、关闭IIS服务器,重开一次。
4、用IE浏览一下你的程序,问题解决。 


------解决方案--------------------
冒泡帮顶接分

原因可能是先安装.NET Framework后安装IIS,导致IIS没有为ASP.NET设置用户。


X:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
 运行aspnet_regiis /r ,注册下

关闭你的VS2005。
打开 X:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 找到你刚才调试的程序的名字的目录删除它。