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

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

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


我尝试过的事情:

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

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

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


当前回答

我遇到了这个问题——症状是一样的,但我遇到的问题是,我将“我的文档”文件夹设置在网络共享上,并且该共享无法访问。

根本问题是位于%USERPROFILE%\Documents的IIS配置文件不可访问。一旦我更改了“My Documents”文件夹的位置(我修改了reg值),它又开始工作了。

我知道这可能不是你可能会遇到的常见情况,但我将其发布在这里,因为它给出了相同的症状。

其他回答

转到项目的根目录,找到以下文件:YourProjectName.csproject.user-在其中,确保UseIISExpress设置为false:

<UseIISExpress>false</UseIISExpress>

如果仅此项不起作用,请尝试以下操作,然后重试:

YourProjectName.csproj-在主项目文件中,确保UseIIS和UseIISExpress都设置为false:

<UseIIS>True</UseIIS>
<UseIISExpress>false</UseIISExpress>

更改这些后,我能够再次加载项目。

注意:确保您以管理员身份运行VS,如其他答案中所述。

创建“devenv.exe”的快捷方式选择快捷方式的“以管理员身份运行”选项doble单击快捷方式并重新打开项目

如果您正在处理的项目不需要使用IIS,则打开出现此错误的项目的解决方法是,只需右键单击卸载的项目,然后单击“编辑”,搜索:

<ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="">
        <WebProjectProperties>
          <UseIIS>True</UseIIS>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>

并将USEIIS设置为false

<UseIIS>False</UseIIS>

保存更改后,通过右键单击重新加载项目。

在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管理员”。您可以通过右键单击快捷方式并选择“以管理员身份运行”。