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

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

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


我尝试过的事情:

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

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

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


当前回答

我有两种不同类型的问题导致了这个错误,我想我应该分享。。。

1. The directory was on an network share and due to UAC restrictions, was 
   unable to be accessed -- even when running as an admin.
2. The directory was on a drive that didn't exist...

这两种情况都源于MS选择将内容放在Documents或My Document目录中的不幸(imo)选择,并伴有非常糟糕的错误消息。在上述两种情况下,根本问题是IISExpress Config文件位于My Documents中,它要么不存在,要么无法访问。

其他回答

打开visual studio命令提示符,键入以下命令并运行

aspnet_regiis -ga machinename\ASPNET

运行上述命令后,重置IIS并测试解决问题的应用程序。

如果上述命令无法解决问题,请尝试在visual studio命令提示符下运行以下命令:-

aspnet_regiis -i

或者,我们也可以从windows命令提示符运行上述命令

转到“开始”菜单,打开“运行”并输入,然后单击“确定”

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe –I

之后重置IIS并测试解决问题的应用程序

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

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

在windows 81上,从admin命令提示符,使用:

icacls "C:\Windows\System32\inetsrv\config" /t /grant "IIS AppPool\DefaultAppPool":(R)

然后返回VS,右键单击失败的项目,选择重新加载。

归功于:IIS7权限概述-ApplicationPoolIdentity

这似乎是“所有错误都会导致此消息”类型的错误之一。

我的是,应用程序池刚刚关闭。我重新打开了它,一切都正常。

我通过向%systemroot%\inetsrv\config授予IIS AppPool标识权限解决了此问题