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

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

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


我尝试过的事情:

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

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

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


当前回答

我认为我们在工作中遇到了类似的问题。对我们来说,解决方案是进入“控制面板”->“程序和功能”->“打开或关闭Windows功能”…在这里面,我们必须选择“Internet信息服务”->“Web管理工具”->“IIS 6管理兼容性”->IIS元数据库和IIS 6配置兼容性”。

试试看,如果有帮助,请告诉我!

注意:我们在Windows 7上运行IIS 7.5,同时使用Visual Studio 2005和2010,并使用超老式的Web服务(.asmx)。。。

其他回答

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

我的解决方案

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

我认为您没有使用管理员权限运行visual studio。看看:

http://bloggingabout.net/blogs/rick/archive/2012/10/04/unable-to-access-the-iis-metabase.aspx

引用

解决方案很简单:使用“运行方式”启动Visual Studio管理员”。您可以通过右键单击快捷方式并选择“以管理员身份运行”。

我尝试了以上所有方法。这归功于上述所有回应。在尝试了所有建议之后,我只是按照对我来说有意义的顺序组合了这些建议。请注意,我的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项目。

我在一台Windows 10 Professional 64位计算机上体验了这一点,这里发布的其他答案都没有帮助。这是在我经历了死亡的蓝屏之后开始的,我发现UAC已经重新打开了自己。单独以管理员身份运行Visual Studio不是解决方案,因为我的源代码控制位于网络驱动器上,而在UAC打开的情况下,Visual Studio无法访问。

通过GPEDIT关闭UAC解决了问题。

我认为我们在工作中遇到了类似的问题。对我们来说,解决方案是进入“控制面板”->“程序和功能”->“打开或关闭Windows功能”…在这里面,我们必须选择“Internet信息服务”->“Web管理工具”->“IIS 6管理兼容性”->IIS元数据库和IIS 6配置兼容性”。

试试看,如果有帮助,请告诉我!

注意:我们在Windows 7上运行IIS 7.5,同时使用Visual Studio 2005和2010,并使用超老式的Web服务(.asmx)。。。