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

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

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


我尝试过的事情:

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

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

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


当前回答

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

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

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

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

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

希望这有帮助。

其他回答

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

<UseIISExpress>false</UseIISExpress>

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

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

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

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

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

在Windows 8 Pro上:

%systemroot%\inetsrv\config

在Windows 7、8.1和10上

%systemroot%\System32\inetsrv\config 

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

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

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

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

IIS Express用户-在网络共享上使用我的文档

如果IIS Express application.config位于网络驱动器上,请确保在“我的电脑”中映射并连接了该驱动器。

我正面临这个问题,当我在“我的电脑”中重新映射网络驱动器时,问题得到了解决。

我今天也有同样的问题。我觉得这很烦人。虽然我有其他两个网站已经在同一个IIS中开发,但仍然无法创建新网站。奇怪,但我做到了。

从IIS中删除网站创建新站点,将其命名为“new_site”选择应用程序池而不是站点名称本身。所以它不会打乱默认设置。如果您在同一台计算机上运行IP,请保持IP“未分配”给它一些未使用的端口通过右键单击VS可执行快捷方式,以“以管理员身份运行”的身份运行Visual Studio。你完了!

您无需关闭/重新安装除我所述之外的任何内容,因为它可以正常工作。

如果有人和我一样有同样的问题,并以同样的方式解决,请告诉我。我认为这不是问题所在,而是在本地主机上创建网站的错误方式,Visual Studio拒绝打开该网站。

我希望这对新手有帮助。

在Visual Studio 2015中:我将.csproj文件中的UseIIS更改为false,这对我有用。

<UseIIS>False</UseIIS>