安装Visual Studio 2012并打开解决方案后,我收到一系列错误,格式如下:

Web应用程序项目Foo配置为使用IIS。无法访问IIS元数据库。您没有足够的权限访问计算机上的IIS网站。

我为我们的每个web应用程序都得到了这个。


我尝试过的事情:

以管理员身份运行Visual Studio运行aspnet_regiis.exe-ga MyUserName运行aspnet_regiis.exe-i

这些似乎是解决这个问题的常见方法,但我没有成功。

还有什么我可以尝试做的吗?


当前回答

我认为我们在工作中遇到了类似的问题。对我们来说,解决方案是进入“控制面板”->“程序和功能”->“打开或关闭Windows功能”…在这里面,我们必须选择“Internet信息服务”->“Web管理工具”->“IIS 6管理兼容性”->IIS元数据库和IIS 6配置兼容性”。

试试看,如果有帮助,请告诉我!

注意:我们在Windows 7上运行IIS 7.5,同时使用Visual Studio 2005和2010,并使用超老式的Web服务(.asmx)。。。

其他回答

更改此密钥对我有效:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\用户外壳文件夹\个人

位置不存在。

创建“devenv.exe”的快捷方式选择快捷方式的“以管理员身份运行”选项doble单击快捷方式并重新打开项目

我也有类似的问题。Visual Studio不会加载任何web项目,并显示错误:创建虚拟目录<myproj:myport>失败。无法访问IIS元数据库。

在我的案例中,问题的根源实际上是IISExpress。右键单击控制面板中的“程序和功能”中的“IIS Express”,然后选择“修复”,在不到两分钟的时间内修复了该问题。

我正在使用Win 8 Pro和VS 2013。在尝试了此页面中的所有内容之后。。。我只是重新安装了IIS Express 8,现在一切正常(即使没有以管理员身份运行)。

我的结论是,这是一个相当普遍的错误,有多个根本原因。

转到项目的根目录,找到以下文件:YourProjectName.csproject.user-在其中,确保UseIISExpress设置为false:

<UseIISExpress>false</UseIISExpress>

如果仅此项不起作用,请尝试以下操作,然后重试:

YourProjectName.csproj-在主项目文件中,确保UseIIS和UseIISExpress都设置为false:

<UseIIS>True</UseIIS>
<UseIISExpress>false</UseIISExpress>

更改这些后,我能够再次加载项目。

注意:确保您以管理员身份运行VS,如其他答案中所述。