首页 文章

Web应用程序项目[...]配置为使用IIS . 找不到Web服务器[...] .

提问于
浏览
228

当我打开解决方案时,我的解决方案文件中有一个“不可用”的Web项目 . 当我右键单击Web项目并重新加载项目时,我收到以下错误:

The Web Application Project mycompany.myapp.mywebproject is configured to use IIS. The Web Server 'http://localhost/MyWebApp could not be found.

我没有为此Web应用程序手动设置虚拟目录 .

每个同事,Visual Studio应该提示我创建虚拟目录,但我没有得到提示 .

我在开发机器上安装IIS之前安装了VS2010 .

这是我的开发机器设置:

  • Windows 7企业版

  • Service Pack 1

  • 64位操作系统

  • Visual Studio 2010企业服务包1

  • IIS 7.5版

24 回答

  • 1

    编辑.csproj或vbproj文件 . 查找并替换这些条目

    <UseIIS>true</UseIIS> by <UseIIS>false</UseIIS>
    <UseIISExpress>true</UseIISExpress> by <UseIISExpress>false</UseIISExpress>
    
  • 185

    尝试使用管理员权限打开Visual Studio . 就我而言,它允许访问IIS站点并使此错误消失 . 然后我能够切换项目以使用似乎不需要管理员权限的IIS Express .

  • 5

    你不会相信, start visual studio as Administrator

    从消息中可以明显看出来

    找不到Web服务器'http:// localhost / MyWebApp' .

    无法找到,因为可能 it has no privileges to see it

    所以 restart 视觉工作室为 Administrator

  • 3

    这对我有用: -
    Make all your IIS websites point to localhost(All Unassigned) only

  • 434

    您可以加载项目而不将属性UseIIS的值设置为true . 只需按照以下步骤操作:

    在mywebproject.csproj文件中 -

    删除标记<IISUrl> http://localhost/MyWebApp/ </ IISUrl>并保存文件 . 应用程序将自动为其分配默认端口 .

  • 2

    对于DNN用户,我的问题是我需要在端口80处对dnndev.me进行绑定 . 我有多个安装在不同的端口上运行,并且VS要求特定的Url存在于端口80上(不像我的86那样) .

  • 1

    我通过从以下链接下载后重新安装IIS Express来修复此问题:

    https://www.microsoft.com/en-us/download/confirmation.aspx?id=48264

  • 0

    发生这种情况时,最简单的解决方案是手动创建虚拟目录 .

    首先,您需要确保安装了正确版本的ASP.Net并且已经安装了IIS扩展 .

    要执行此操作,请转到c:\(windows)\ microsoft.net \(dotnetver)\中的相关.net版本文件夹(用括号中的文件夹替换PC上的正确文件夹)并运行此命令

    aspnet_regiis.exe -i
    

    下一次运行并完成,有时运行

    iisreset
    

    从命令行有帮助,有时你不需要 .

    接下来,转到IIS管理器并找到localhost网站,然后选择添加文件夹 . 浏览到项目中包含实际ASP.Net项目的文件夹并添加 .

    最后,右键单击您添加的文件夹,您应该有一个选项“转换为应用程序”或“创建虚拟目录”或类似的东西 .

    !!Make sure the Virtual directory has the name 'MyWebApp'!!

    重新加载您的解决方案,它应该工作 .

    请小心;这不是一个编程问题(不应该真的发布在这里),但我已经发布了这个指南,因为这是一个常见的问题,但我发布的建议是通用的;我列出的命令是正确的,但您在IIS中需要执行的步骤可能会有所不同,具体取决于您的版本和帐户权限 .

    祝好运!

  • 73

    在我的情况下,我想从http切换到https,所以我从IIS中删除了http . 在我的.csproj.user文件中发现我仍然有:

    <IISUrl>http://localhost/</IISUrl>
    

    所以我改成了:

    <IISUrl>https://localhost/</IISUrl>
    
  • 0

    检查是否已安装IIS Express . 如果缺少IIS Express,Visual Studio可能会丢弃设置 <UseIISExpress>false</UseIISExpress> 并仍然查找快速 .

  • 4

    在我的情况下,此问题是由IIS绑定损坏引起的 . 具体来说,我的'http'绑定已被删除 . 重新创建它修复了问题 .

  • 20

    由于接受的答案需要IIS管理器,并且IIS Express没有IIS管理器或任何UI,因此这里是IIS Express用户的解决方案(也应该适用于其他所有人):

    当您打开Visual Studio并收到错误消息时,右键单击项目解决方案资源管理器并选择“编辑 .csproj”

    在项目文件中,更改以下行:
    <UseIIS>True</UseIIS>

    <UseIIS>False</UseIIS>
    保存文件 .

    现在重新加载您的项目 .
    完成 .

    然后,您就可以打开您的项目了 . 如果此时您想使用IIS,只需转到项目属性,单击“Web”选项卡,然后选择使用IIS的选项 . 那里有“创建虚拟目录”按钮 . 它可能会告诉您需要以管理员身份运行Visual Studio来创建该目录,如果需要,请执行此操作 .

  • 4

    在我的情况下,我能够在离线模式下打开解决方案,只需运行命令:

    iisreset
    
  • 1

    如果您通过TFS连接,请打开project.csproj.user文件并检查

    <UseIISExpress>false</UseIISExpress>
    

    并将其更改为true .

    <UseIISExpress>true</UseIISExpress>
    
  • 2

    对我来说,我不得不从.csproj文件中删除这两行

    <ProjectGuid>{3AA499DF-4A65-43B7-8965-D08A4C811834}</ProjectGuid>
    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
    

    我尝试只删除第一个,但这还不够 .

  • 1

    在我的情况下,引用的URL在csproj文件不正确 .

    它需要以www为前缀 .

    我做了更改,保存文件和项目加载正常 .

  • 3

    打开项目文件夹并删除 .csproj.user ,然后在Visual Studio上重新加载项目 .

  • 0

    在我的情况下,请确保您有一个“默认”网站

  • 2

    当我尝试从.csproj文件中打开一个项目时,就会发生这种情况,但是我通过从VS打开项目来克服它:

    File> Open> Web Site

    并选择包含我的项目的目录 .

  • 1

    当.csproj文件中的 <ProjectTypeGuids> 元素包含单元测试项目GUID: {3AC096D0-A1C2-E12C-1390-A8335801FDAB} 时,我遇到了这个问题 .

    删除它使项目加载没有问题 .

  • 1

    此解决方案适用于我 . 右键单击项目并选择编辑并找到以下代码,如下图所示 .

    将<UseIIS> True </ UseIIS>更改为<UseIIS> False </ UseIIS>

    要么

    将<IISUrl> http://example.com/ </ IISUrl>更改为<IISUrl> http:// localhost / </ IISUrl>

  • 15

    我也有这个错误 . 我认为一切都设置正确,但我发现有一件事丢失了:我用于我的项目的主机名称(尚未)可解析 .

    由于我的应用程序从主机名确定当前客户端的名称,因此我使用了主机名 clientname.mysuperapp.local 进行开发 . 当我将开发主机名添加到我的 hosts 文件时,该项目可以再次加载 . 显然,我还是不得不这样做,但我没想到VS在加载项目之前会检查主机名 .

  • 22

    对于那里的Win8用户,如果你按照接受的答案中的步骤,控制台会向你发出一条消息,说“你不能使用命令行来执行这个命令”(释义) . 而是通过控制面板(或Windows R> appwiz.cpl)访问“程序和功能”,单击“打开或关闭Windows功能”,并确保安装了以下内容:

    Internet Information Services
      > World Wide Web Services
        > Application Development Features
          > ASP.NET 4.5
    

    这将检查一堆其他选项 . 一旦我安装了这些功能,并使用提升的权限运行VS2012,我就能够成功启动我的应用程序 .

  • 10

    在我的例子中,IIS中的“默认网站”没有端口80上的localhost绑定 . 对于.csproj文件中的任何值,您应该有一个绑定 .

相关问题