安装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文件管理器打开解决方案时,我并没有以管理员身份运行。
其他建议似乎有些极端,但这很简单,所以我倾向于先尝试一下。
希望这有帮助。
我今天也有同样的问题。我觉得这很烦人。虽然我有其他两个网站已经在同一个IIS中开发,但仍然无法创建新网站。奇怪,但我做到了。
从IIS中删除网站创建新站点,将其命名为“new_site”选择应用程序池而不是站点名称本身。所以它不会打乱默认设置。如果您在同一台计算机上运行IP,请保持IP“未分配”给它一些未使用的端口通过右键单击VS可执行快捷方式,以“以管理员身份运行”的身份运行Visual Studio。你完了!
您无需关闭/重新安装除我所述之外的任何内容,因为它可以正常工作。
如果有人和我一样有同样的问题,并以同样的方式解决,请告诉我。我认为这不是问题所在,而是在本地主机上创建网站的错误方式,Visual Studio拒绝打开该网站。
我希望这对新手有帮助。
在Windows 8 Pro上:
%systemroot%\inetsrv\config
在Windows 7、8.1和10上
%systemroot%\System32\inetsrv\config
(其中%systemroot%通常是C:\Windows)
在Windows资源管理器中导航到上面的适当位置。您将被阻止访问,弹出窗口显示:
“您无权访问此文件夹-单击“继续”可永久访问此文件夹”
单击此文件夹的“继续”,并在下面显示“导出”文件夹。我将快捷方式改回“以我的身份运行”(域和本地管理员的成员),并能够打开和部署解决方案。
打开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并测试解决问题的应用程序
我尝试了以上所有方法。这归功于上述所有回应。在尝试了所有建议之后,我只是按照对我来说有意义的顺序组合了这些建议。请注意,我的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/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元数据
我以前从未遇到过这种情况,因为目前的工作中没有人遇到过这种问题(很多人在这里待了很长时间,有些人克隆了其他“工作”的机器,很多人在另一个域等)
转到项目的根目录,找到以下文件:YourProjectName.csproject.user-在其中,确保UseIISExpress设置为false:
<UseIISExpress>false</UseIISExpress>
如果仅此项不起作用,请尝试以下操作,然后重试:
YourProjectName.csproj-在主项目文件中,确保UseIIS和UseIISExpress都设置为false:
<UseIIS>True</UseIIS>
<UseIISExpress>false</UseIISExpress>
更改这些后,我能够再次加载项目。
注意:确保您以管理员身份运行VS,如其他答案中所述。