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

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

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


我尝试过的事情:

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

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

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


当前回答

运行命令:

c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ga %username%
c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

其他回答

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

我尝试了以上所有方法。这归功于上述所有回应。在尝试了所有建议之后,我只是按照对我来说有意义的顺序组合了这些建议。请注意,我的Documents文件夹位于共享驱动器上。subst/IISExpress的东西不适用,除非你在同一条船上。

配置VS以管理员身份运行通过添加/删除程序、Windows功能卸载IIS重新启动运行WinRAR或类似于admin的东西并存档C:\windows\system32\inetsrv\以admin和rmdir/s c:\windows\system32\inetsrv\的身份运行cmd,以完全删除上次安装的所有痕迹。稍后保持提升的cmd提示打开。重新安装具有IIS 6元数据库兼容性的IIS(怀疑这是必要的)保持默认AppPool和默认网站不变(我以前删除了这两个)运行C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe-ga MYDOMAIN\scott732已运行C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe-i

此外,因为我的Documents文件夹位于共享驱动器上,所以我遇到了IIS Express问题。我不使用/喜欢IIS Express,但Visual Studio对此表示不满。

在提升的cmd提示符下,运行subst U:c:\Temp。创建C:\Temp\Documents\并从U盘复制IISExpress文件夹。使用C:\Temp\Documents\IISExpress在HKCU\Software\Microsoft\IISExpress中创建了CustomUserHome密钥这使我能够让VisualStudio打开我的web项目并编辑财产。我调整了项目以将web服务器设置存储在用户文件中,并将其调整为使用自定义URL(不确定这是否必要)每次重新启动时,我可能/可能不必运行subst命令。别在意。

在认输3次,花了大约6个小时后,我可以在Visual Studio(2015年更新2)中打开web项目。

在我的情况下,唯一帮助我的是重新安装(或更容易修复)IIS 10.0 Express

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

我的解决方案

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

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

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

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

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

我希望这对新手有帮助。