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

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

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


我尝试过的事情:

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

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

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


当前回答

我今天刚遇到这个问题,我发现我没有以“以管理员身份运行”的身份打开VS。这样做之后,我就可以发布服务了。

其他回答

这似乎是“所有错误都会导致此消息”类型的错误之一。

我的是,应用程序池刚刚关闭。我重新打开了它,一切都正常。

我也有类似的问题。我的解决方案是对“以管理员身份运行”这一答案的扩展,我希望有人会觉得这很有用。

我在运行VS2012,几乎每次我都要做右键单击,以管理员身份运行。我对此感到厌倦,所以我在快捷方式上进入它的财产,单击“高级”,然后单击“以管理员身份运行”选项。现在,每当我从该快捷方式打开VS2012时,它总是以管理员身份运行。

从该快捷方式位开始很重要。我继续分支我的项目,并将分支下载到一个新的本地文件夹。然后,当我从快捷方式打开它时,我没有问题。但是,如果我直接进入文件夹,在没有快捷方式的情况下在本地运行项目,它就不会以管理员身份运行,因此我出现了这个错误。

一旦我像往常一样先打开了VS2012,然后使用File/Open/Project,它再次运行起来没有问题。(因为我是以管理员身份运行的)。但当我使用windows文件管理器打开解决方案时,我并没有以管理员身份运行。

其他建议似乎有些极端,但这很简单,所以我倾向于先尝试一下。

希望这有帮助。

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

我试过所有作为管理员的跑步所有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元数据

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

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

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

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

归功于:IIS7权限概述-ApplicationPoolIdentity

在Windows 8 Pro上:

%systemroot%\inetsrv\config

在Windows 7、8.1和10上

%systemroot%\System32\inetsrv\config 

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

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

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

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