安装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 2015进行了修复。修复花费了很长时间,但它解决了问题,而上述大部分工作都没有解决。我在经营Win 7企业。

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

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

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

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

归功于:IIS7权限概述-ApplicationPoolIdentity

我也有同样的问题。对我来说,我使用的文档与以前的Windows安装相同。只需从我的文档中删除IISExpress文件夹就可以了。

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