无法访问IIS元数据库ASP.Net

Edd*_*Edd 12 asp.net iis permissions iis-metabase visual-studio-2013

嗨,我知道有一些线程,但没有一个解决方案似乎适合我.

我有一个ASP.Net网站项目,我试图在Visual Studio中加载和发布.但是,当我加载项目时,我收到错误:

创建虚拟目录http:// localhost:xxxx失败,并显示错误:无法访问IIS元数据库.您没有足够的权限访问计算机上的IIS网站.

仅当我以管理员身份运行Visual Studio时才会出现此错误.如果我不以管理员身份运行,则上述错误不会发生,但当我尝试发布我的应用时,我得到:

请在管理员模式下启动Visual Studio以执行此部署操作

看来我不能赢!


到目前为止我尝试过的:

  • 取得C:/ Windows/System32/Inetsrv/Config的所有权
  • <UseIISExpress>false</UseIISExpress>在我的project_name.csproj文件中设置
  • 回到旧团队基础服务器检查,在管理模式下没有问题并使用该配置.
  • 以非管理员身份运行Visual Studio(有效,但请注意上面的第二个错误)

到目前为止没有运气.


额外信息:

操作系统:Windows 8.1(64位)

Visual Studio:2013

IIS:8.5

C:\ Windows\System32\inetsrv\config(只读)的权限:

  1. 我:完全控制
  2. 管理员:完全控制

Documents/IISExpress/config上的权限(只读):

  1. 我:完全控制
  2. 管理员:完全控制

注意"文档"位于网络驱动器上

Edd*_*Edd 35

事实证明我的个人文件夹设置为网络驱动器,偶尔会发生故障导致所述错误.

要更改您的个人文件夹:

  • 打开 C://Windows/regedit.exe
  • 导航 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
  • 将字段更改Personal%USERPROFILE%%USERPROFILE%\{a folder of your choice}

这解决了我的问题.

请注意,您可能需要将旧个人文件夹中的任何文件移动到新文件夹中,因为它们不再被拾取

  • 你救了我的一天 (8认同)
  • 哦,谢谢你张贴这个! (2认同)