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

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

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


我尝试过的事情:

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

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

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


当前回答

创建一个新的网站,在出现错误后,转到您创建项目的文件夹,在txt应用程序中打开.csproj文件,找到此标记“<UseIIS>”并将“false”更改为“true”,在下面的行中找到标记“<IISUrl>”,然后放入iis url(在iis中查找url),您的标记必须如下所示:

<WebProjectProperties>
      <UseIIS>True</UseIIS>
      <AutoAssignPort>True</AutoAssignPort>
      <DevelopmentServerPort>0</DevelopmentServerPort>
      <DevelopmentServerVPath>/</DevelopmentServerVPath>
      <IISUrl>http://localhost/yourIISAppAlias
      </IISUrl>
      <NTLMAuthentication>False</NTLMAuthentication>
      <UseCustomServer>False</UseCustomServer>
      <CustomServerUrl>
      </CustomServerUrl>
      <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
    </WebProjectProperties>

其他回答

在Windows 8 Pro上:

%systemroot%\inetsrv\config

在Windows 7、8.1和10上

%systemroot%\System32\inetsrv\config 

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

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

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

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

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

<UseIISExpress>false</UseIISExpress>

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

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

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

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

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

我正在使用Win 8 Pro和VS 2013。在尝试了此页面中的所有内容之后。。。我只是重新安装了IIS Express 8,现在一切正常(即使没有以管理员身份运行)。

我的结论是,这是一个相当普遍的错误,有多个根本原因。

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

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

我的解决方案

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