C# 错误-无法访问IIS元数据库

C# 错误-无法访问IIS元数据库,c#,.net,iis,iis-metabase,C#,.net,Iis,Iis Metabase,安装Visual Studio 2012并打开我的解决方案后,我发现以下一系列错误: Web应用程序项目Foo配置为使用IIS 无法访问IIS元数据库。您没有足够的权限访问计算机上的IIS网站 我为我们的每个web应用程序都提供了这个 我尝试过的事情: 以管理员身份运行VisualStudio 正在运行aspnet_regiis.exe-ga MyUserName 正在运行aspnet_regiis.exe-i 这些似乎是解决这个问题的常见方法,但我一直没有成功 还有什么我能做的吗 我认为您运

安装Visual Studio 2012并打开我的解决方案后,我发现以下一系列错误:

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

我为我们的每个web应用程序都提供了这个


我尝试过的事情:

  • 以管理员身份运行VisualStudio
  • 正在运行aspnet_regiis.exe-ga MyUserName
  • 正在运行aspnet_regiis.exe-i
  • 这些似乎是解决这个问题的常见方法,但我一直没有成功

    还有什么我能做的吗


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

    引用

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


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

    试试看,如果有用的话就告诉我


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

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

    我的解决方案


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

    我也有类似的问题。我的解决方案是对答案“以管理员身份运行”的扩展,我希望有人会觉得这很有用

    我运行的是VS2012,几乎每次我都要右键单击,以管理员身份运行。我对此感到厌倦,于是我在快捷方式上进入它的属性,单击高级,然后单击“以管理员身份运行”选项。现在,每当我从该快捷方式打开VS2012时,它总是以管理员身份运行

    这一捷径的位置很重要。我继续分支我的项目,并将分支下载到一个新的本地文件夹。然后,当我从快捷方式打开它时,我没有问题。但是,如果我直接进入文件夹,在本地运行项目,而没有快捷方式,它就不会以管理员身份运行,因此我出现了这个错误

    一旦我像往常一样首先打开了VS2012,然后使用File/Open/Project,它就可以正常工作了。(因为我是以管理员的身份运行的)。但当我使用windows文件管理器打开解决方案时,我不是以管理员身份运行的

    其他建议似乎有些极端,但这很简单,所以我倾向于先尝试一下


    希望这有帮助。

    我今天也遇到了同样的问题。我觉得很烦人。虽然我有其他两个网站已经在开发中,从相同的IIS,但仍然无法创建新的网站。奇怪,但我做到了

    • 从IIS中删除站点
    • 创建新站点,为其命名为“新建站点”
    • 选择应用程序池而不是站点名称本身。所以它不会弄乱默认设置
    • 如果您在同一台机器上运行IP,请保持IP“未分配”
    • 给它一些未使用的端口
    • 右键单击VS可执行快捷方式,以“以管理员身份运行”的身份运行Visual Studio
    • 你完了
    您不需要关闭/重新安装除我所述之外的任何东西,因为它可以工作

    如果有人和我一样有同样的问题,并以同样的方式解决,请告诉我。我认为这不是问题所在,而是VisualStudio拒绝在localhost上创建网站的错误方法

    我希望这将有助于新手

  • 创建“devenv.exe”的快捷方式
  • 选择快捷方式的“以管理员身份运行”选项
  • 双击快捷方式并重新打开您的项目

  • 我通过向Windows 8 Pro上的
    %systemroot%\inetsrv\config
    授予IIS应用池标识权限解决了此问题:

    %systemroot%\inetsrv\config
    
    在Windows 7、8.1和10上

    %systemroot%\System32\inetsrv\config 
    
    (其中
    %systemroot%
    通常是
    C:\Windows

    在Windows资源管理器中导航到上面相应的位置。您将被一个弹出窗口阻止访问,该窗口显示:

    “您无权访问此文件夹-单击“继续”可永久访问此文件夹”


    单击此文件夹的“继续”,并将导出文件夹放在下面。我将快捷方式改回“以我的身份运行”(域和本地管理员的成员),并能够打开和部署解决方案。

    这似乎是“所有错误导致此消息”类型的错误之一


    我的问题是应用程序池刚刚关闭。我重新打开了它,一切正常。

    如果您正在处理一个不需要使用IIS的项目,那么打开该项目时出现此错误的解决方法是只需右键单击卸载的项目,然后单击“编辑”,搜索:

    <ProjectExtensions>
        <VisualStudio>
          <FlavorProperties GUID="">
            <WebProjectProperties>
              <UseIIS>True</UseIIS>
            </WebProjectProperties>
          </FlavorProperties>
        </VisualStudio>
      </ProjectExtensions>
    </Project>
    
    
    真的
    
    并将USEIIS设置为false

    <UseIIS>False</UseIIS>
    
    False
    

    保存更改后,通过右键单击项目来重新加载项目。

    我有两种不同类型的问题线索
    1. The directory was on an network share and due to UAC restrictions, was 
       unable to be accessed -- even when running as an admin.
    2. The directory was on a drive that didn't exist...
    
    <UseIIS>True</UseIIS>
    
    aspnet_regiis -ga machinename\ASPNET
    
    aspnet_regiis -i
    
    %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe –I
    
    icacls "C:\Windows\System32\inetsrv\config" /t /grant "IIS AppPool\DefaultAppPool":(R)
    
     <IISUrl>http://localhost:xxxxx </IISUrl>
    
    <UseIISExpress>false</UseIISExpress>
    
    <UseIIS>True</UseIIS>
    <UseIISExpress>false</UseIISExpress>
    
    <UseIIS>False</UseIIS>