安装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中:我将.csproj文件中的UseIIS更改为false,这对我有用。

<UseIIS>False</UseIIS>

谢谢所有回答的人。由于关闭了很长一段时间,我无法提供太多反馈,但我最终解决了我的问题。我尝试了许多其他解决方案,但它们没有解决我的问题,但我确信,当根本原因不同时,它们会有所帮助。

我的解决方案

我通过关闭Windows 7中的IIS和.Net Framework功能,然后重新打开这些功能,解决了这个问题。似乎是重新安装解决了我的问题。我仍然不知道是什么导致了这个问题,但至少我团队中的其他一名开发人员也有同样的问题。

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

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

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

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

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