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

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

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


我尝试过的事情:

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

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

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


当前回答

打开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%\inetsrv\config授予IIS AppPool标识权限解决了此问题

您可能遇到了这个问题,并遇到了和我一样的问题。我之前“解决”了它,然后停电和计算机崩溃,不知道为什么注册表设置会恢复,但这是我问题的根源。

我试过所有作为管理员的跑步所有IIS/IIS express都将重新安装。各种“黑客”

最后不得不再次修复注册表。

管理员甚至无法打开regedit(需要访问注册表,因为gpedit.msc管理模板没有问题)桌面上的UnHookExec.inf

只需保存UnHookExec.inf并通过右键单击并选择安装来安装它。安装该文件不会显示任何弹出窗口或通知框。http://www.tweakandtrick.com/2011/04/enable-regedit-registry-editor.html

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\USER Shell Folders\Personal指向不存在的文件共享。改为本地路径为我解决了这个问题。–Pasi Savolainen 2014年7月14日8:41

(从\\cs2data\home\sticelt\my documents更改为c:\dev)

现在ALL很好,Visual Studio打开了15个项目的解决方案,并连接到IIS,并且不会抱怨无法访问IIS元数据

我以前从未遇到过这种情况,因为目前的工作中没有人遇到过这种问题(很多人在这里待了很长时间,有些人克隆了其他“工作”的机器,很多人在另一个域等)

我今天遇到了这个问题,并通过从Project文件中删除IISUrl解决了这个问题:

右键单击项目单击“编辑”删除以下行:<IISUrl>http://localhost:xxxxx</IISUrl>重新加载项目现在,通过右键单击“项目”>“财产”>“Web”并选择“使用本地IIS Web服务器”(取消选中“使用IIS Express”),然后单击“创建虚拟目录”按钮,添加一个新的IIS虚拟目录。

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

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

除了@nologo的回答,我还必须使用IIS。所以我改变了

<UseIIS>True</UseIIS>

首先设置为“False”。

打开解决方案并确保可以加载项目。关闭解决方案和Visual Studio实例再次将值更改为“True”打开解决方案。这次,我没有收到任何错误/警告。当我的项目被映射到IIS网站时,我也可以使用Ctrl+F5或F5运行而没有任何问题。