安装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中,它要么不存在,要么无法访问。

其他回答

在我的情况下,唯一帮助我的是重新安装(或更容易修复)IIS 10.0 Express

在Windows 8 Pro上:

%systemroot%\inetsrv\config

在Windows 7、8.1和10上

%systemroot%\System32\inetsrv\config 

(其中%systemroot%通常是C:\Windows)

在Windows资源管理器中导航到上面的适当位置。您将被阻止访问,弹出窗口显示:

“您无权访问此文件夹-单击“继续”可永久访问此文件夹”

单击此文件夹的“继续”,并在下面显示“导出”文件夹。我将快捷方式改回“以我的身份运行”(域和本地管理员的成员),并能够打开和部署解决方案。

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

您可以通过取消选中Windows功能列表中的IIS工具来解决此问题。然后,修复Visual Studio 2013安装并确保已选中Web Developer。它将安装IIS 8,VS可以很好地使用它。

导航到文件夹:%systemroot%\System32\inetsrv\config会显示一个安全对话框。单击“继续”,这可能会解决问题。这已在两台独立的Win 10/VS 2017/IIS机器上运行。