安装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值),它又开始工作了。

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

其他回答

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

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

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

您可能遇到了这个问题,并遇到了和我一样的问题。我之前“解决”了它,然后停电和计算机崩溃,不知道为什么注册表设置会恢复,但这是我问题的根源。

我试过所有作为管理员的跑步所有IIS/IIS express都将重新安装。各种“黑客”

最后不得不再次修复注册表。

管理员甚至无法打开regedit(需要访问注册表,因为gpedit.msc管理模板没有问题)桌面上的UnHookExec.inf

只需保存UnHookExec.inf并通过右键单击并选择安装来安装它。安装该文件不会显示任何弹出窗口或通知框。http://www.tweakandtrick.com/2011/04/enable-regedit-registry-editor.html

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\USER Shell Folders\Personal指向不存在的文件共享。改为本地路径为我解决了这个问题。–Pasi Savolainen 2014年7月14日8:41

(从\\cs2data\home\sticelt\my documents更改为c:\dev)

现在ALL很好,Visual Studio打开了15个项目的解决方案,并连接到IIS,并且不会抱怨无法访问IIS元数据

我以前从未遇到过这种情况,因为目前的工作中没有人遇到过这种问题(很多人在这里待了很长时间,有些人克隆了其他“工作”的机器,很多人在另一个域等)

还有一件事你可以尝试:

检查是否有挂起的Windows更新。如果需要,请在尝试其他操作之前重新启动。

我倾向于从不关闭我的机器,所以我有很多人在等待重启。这就解决了问题。

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

打开visual studio命令提示符,键入以下命令并运行

aspnet_regiis -ga machinename\ASPNET

运行上述命令后,重置IIS并测试解决问题的应用程序。

如果上述命令无法解决问题,请尝试在visual studio命令提示符下运行以下命令:-

aspnet_regiis -i

或者,我们也可以从windows命令提示符运行上述命令

转到“开始”菜单,打开“运行”并输入,然后单击“确定”

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe –I

之后重置IIS并测试解决问题的应用程序