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

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

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


我尝试过的事情:

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

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

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


当前回答

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

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

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

归功于:IIS7权限概述-ApplicationPoolIdentity

其他回答

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

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

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

归功于:IIS7权限概述-ApplicationPoolIdentity

我认为您没有使用管理员权限运行visual studio。看看:

http://bloggingabout.net/blogs/rick/archive/2012/10/04/unable-to-access-the-iis-metabase.aspx

引用

解决方案很简单:使用“运行方式”启动Visual Studio管理员”。您可以通过右键单击快捷方式并选择“以管理员身份运行”。

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

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

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

打开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并测试解决问题的应用程序

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