visual studio(vs) 开发网站项目时,默认是使用vs内置的一个简易型的IIS服务程序来运行网站项目。但有些时候这并不是很方便,例如我需要在移动端访问我的测试网站,不能直接访问带端口号的地址,而vs 内置的IIS却只能启动带端口的网站。这时,我需要把网站部署到本机的IIS上,然后移动端就可以直接使用我的局域网IP 访问我的测试网站。
但是项目文件在vs中的每次更改都要发布到本机的IIS,这未免就太麻烦了。
幸运的是vs其实是可以设置成调用本机的IIS来启动网站程序的,而且可以像它内置的IIS服务程序一样调试,所有行为都一致。
详细的设置是在vs中网站项目的属性里面,具体的设置仔细看看就懂了。
本篇所述的是在vs设置为使用本机IIS调试时,打开解决方案时无法加载网站项目,提示“无法访问IIS元数据库,您没有足够特权访问计算机上的IIS网站”,这时可以先用管理员身份运行vs,再加载项目。但这毕竟太麻烦,遇到几次你就没耐心再去折腾了。
网上很多人马马虎虎地给出的一些敷衍的答案,比如编辑项目的文件(*.csproj),把UseIIS段的值由True改成False,真叫人无语......
我找到的
解决方法是:
打开C:\Windows\System32\inetsrv\config文件夹,打开时弹出的权限询问弹窗里选择“继续”,然后再打开此文件夹下的Export文件夹,同样选“继续”。
这样就拿到这个权限,vs就能顺利加载已经设置为使用本地IIS调试的web程序了。
系统信息:window8.1,visual studio 2013 Ultimate
解决方案来自:http://stackoverflow.com/questions/12859891/error-unable-to-access-the-iis-metabase