首页 文章

无法启动IIS Express Web服务器

提问于
浏览
252

我有一个asp.net MVC 4解决方案 . 当我尝试使用Visual Studio 2012打开它时,我收到以下错误:

Microsoft Visual Studio配置Web https:// localhost:for ASP.NET 4.5失败 . 您必须为ASP.NET 4.5手动配置此站点才能使站点正确运行 . 在本地计算机上找不到服务器https:// localhost:44300 / . 确保已将本地IIS服务器配置为支持安全通信 . 好的帮助

虽然解决方案打开了 . 此外,当我尝试从调试菜单运行它时,我收到以下错误:

Unable to launch the IIS Express Web server.

The start URL specified is not valid. https://localhost:44300/

我无法调试代码 . 如何从VS 2012中摆脱这些错误并调试/运行网站?

请建议 .


30 回答

  • 14

    如果使用VS2015或以上

    确保iisexpress进程未运行 .

    确保没有其他进程正在使用您所需的端口 . 您可以通过在控制台中执行 netstat -a -b (以管理员身份)来执行此操作 .

    然后删除以下文件

    <<path_to_solution_folder>>\.vs\config\applicationhost.config
    

    请注意 .vs 文件夹可能被隐藏

    然后找到 <<project-name>>.csproj.user 文件,用文本编辑器(记事本)打开它,并确保 WebProjectProperties 下的 IISUrl 配置为 <IISUrl>http://localhost:XXXXX/</IISUrl> ,其中 XXXXX 是您想要的端口 .

    在这样做并尝试启动应用程序后,您可能会得到

    HTTP Error 500.19 - Internal Server Error
    The requested page cannot be accessed because the related configuration data for the page is invalid.
    

    然后转到 - > Web并按“Create Virtual Directory”按钮

    enter image description here

  • 9

    从VS2012运行我的解决方案时遇到了类似的问题:

    Unable to launch the IIS Express Web server.  
    The start URL specified is not valid. https://localhost:44301/
    

    我选择了错误的项目作为启动项目 . 我将Cloud项目设置为Startup(右键单击项目 - > Set as Startup Project),一切正常 .

  • 1

    我有同样的问题,原因是标志“覆盖应用程序根URL”在属性 - > Web下设置在我删除标志后,IIS Express正在使用定义的端口启动 .

  • 40

    我有同样的问题,感谢@Jacob提供有关它的信息 .

    原因是 - 您的项目在位于的配置文件 applicationhost 中输入错误

    C:\Users\(yourusername)\Documents\IISExpress\config
    
    • 关闭所有Visual Studio解决方案 .

    • 将IISExpress文件夹重命名为某些IISExpress-Copy(而不是删除您可以拥有它的副本)

    • 现在再次打开VS并构建/调试项目,现在您将看到正确配置再次为您创建的IISExpress文件夹 .

    它对我有用,并希望它也适合你 .

  • 1

    @roblll做对了 . 但对于那些不想挖掘答案的人来说,这里是:

    • 关闭Visual Studio(可能没有必要,但不会受到伤害) .

    • 导航到“文档”文件夹 . 这是我的IISExpress配置目录所在的位置 .

    • 在config文件夹中,有一个名为applicationhost的文件 . 打开那个 .

    • 搜索项目名称 . 它应该是在Visual Studio中添加的,当它在之前的尝试中被轰炸时 .

    • 请注意,http与您打算用于https的端口绑定 .

    //Change this:
    <binding protocol="http" bindingInformation="*:44300:localhost" />
    
    //to this:
    <binding protocol="https" bindingInformation="*:44300:localhost" />
    

    请记住,Visual Studio可能提供了与您预期不同的端口 . 只需确保绑定中的端口对应于项目属性的Web选项卡中的端口 .

    http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx

  • 1

    请尝试以下步骤:

    • 删除 IISExpress 文件夹为@Yehuda Shapira说

    • 重启电脑

    • 删除项目中的 .vs 文件夹

    祝你好运!

  • 4

    我在VS 2013中遇到了同样的问题,甚至在所有可能的尝试之后都没有用 . 我的问题解决了:

    - In control panel (Program and Features) I found that all of the IIS related features were unchecked.I finally checked all of those and restarted my system.
    - Then I started my VS 2013 as administrator and thats it everything
       worked fine then.
    

    至少你可以尝试一下,因为它对我有用 .

  • 79

    我在我的机器上为虚拟机设置了Internet连接共享 . 我关闭了它,我能够在Visual Studio 2015中进行调试 . 但是,为了在重新启动后一致地调试,我需要将Internet连接共享服务设置为手动启动,即使我的所有Internet连接都没有启用Internet连接共享 .

  • 0

    当我查看IIS Express注册表项时,我的问题最终得以解决:

    HKEY_CURRENT_USER\Software\Microsoft\IISExpress
    

    我有一个条目 CustomUserHome 指向我的网站,这导致了严重破坏 .

  • 2

    您似乎需要进行一些配置,因为您似乎正在使用SSL;以下是Scott Hanselman本人的分步指南:

    http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx

  • 1

    我有同样的问题,但对我有用的解决方案是不同的 .

    • 在VS2013中打开调试> 属性

    • 选择"Web"选项卡 .

    • 在"Servers"下我发现"Override application root URL"已经过检查 . 我取消选中它并保存 .

    这就是我需要的所有东西 .

  • 1

    我今天遇到了这个错误 . 运行Win 8.1和VS 2013.突然我的项目无法运行,我收到消息“无法启动IIS Express Web服务器”,没有进一步的信息 .

    过了一会儿,我发现IIS Express无法启动的所有项目都在运行.net 3.5 . 运行更高版本的项目确实启动了 .

    我的解决方案是删除.net 3.5(从控制面板 - >转Windows功能打开/关闭),重新启动Windows和再次添加.net 3.5 .

  • 7

    在我的情况下,项目在 network drive 上,删除IIS Express文件夹没有帮助,如其他答案中所述 . 我的解决方法是将项目复制到本地驱动器,它工作正常!

  • 4

    在我的情况下,IIS Express applicationhost.config文件在几个元素的managedRuntimeVersion属性中有一个拼写错误 . 这适用于Visual Studio 2012和Visual Studio 2013.我只收到了消息的第一部分,说明:

    无法启动IIS Express Web服务器 .

    它在事件日志中记录了一条错误消息:

    工作进程无法预加载.Net Runtime版本v4.030319 .

    正确的运行时版本是v4.0.30319(注意第二个时期 . )

    我采取的纠正措施:

    • 导航到C:\ Users \ Documents \ IISExpress \ config

    • 编辑applicationhost.config

    • 找到配置部分

    • 更正对"v4.030319"的任何引用以读取"v4.0.30319"

    Visual Studio在下次调试Web应用程序时成功启动了IIS Express .

  • 2

    检查防病毒防火墙并允许访问visual studio进行网络连接 . 例如在nod32中:

    goto setting (f5) -> network->personal firewall->rules and zones
    

    在“ zone and rule editor " click " setup ”中找到 vs 201012 或...并允许访问网络 .

  • 10

    安装Visual Studio 2013 Update 3后,我遇到了同样的问题 .
    VS 2013 can not load Microsoft.VisualStudio.TraceLogPackage.dll
    Unable to launch the IIS Express Web server

    通过执行以下步骤解决了我的问题:

    1.修理 Visual Studio 2013 Update 3
    2.以管理员身份启动 Developer Command Prompt .
    3.键入 devenv.exe /setup ,然后按Enter键

  • 2

    在尝试其他任何操作之前,请确保1.重新启动visual studio(主要用于从文件刷新内存驻留选项)和2.重新启动系统(主要用于无效文件锁定) . 如果你的问题是暂时的或自我解决的,那么这些问题不会改变 . PC重启后,它对我有用 . 此外,如果您在多用户项目上工作,请确保您拥有最新的可行版本 - 其他人可能会在例如错误地检查无效内容 . 项目文件,你无缘无故地搞乱你的系统 . 如果那些不起作用,那么你可能需要改变一些卡住,丢失或需要修改的设置 - 其他答案有很多命题 .

  • 15

    我遇到了同样的问题然后我打开了任务管理器 - >进程然后杀死了iisexpress.exe进程 . 之后,我尝试运行该应用程序,并能够成功运行它

  • 1

    在我的情况下,我允许外部请求到我的IIS Express网站并配置了Windows防火墙以允许iisexpress.exe,我无法从Visual Studio 2013中启动它 . 我仍然可以使用命令行启动它,它可以为本地和外部服务请求好 .

    C:\Program Files (x86)\IIS Express>iisexpress /site:MyWebSiteName
    

    在VS运行之后,我尝试创建一个防火墙规则以允许我的端口 .

  • 1

    我有同样的问题 .
    原因 - 糟糕的IIS配置文件 .

    尝试删除自动创建的 IISExpress 文件夹,该文件夹通常位于 %userprofile%/Documents ,例如 C:\Users\[you]\Documents\IISExpress .

    不要担心,VS应该再次创建 - 正确,这次 - 再次运行解决方案 .


    编辑:删除文件夹的命令行:

    rmdir /s /q "%userprofile%\Documents\IISExpress"
    
  • 3

    我遇到过同样的问题 . 我在 C:/users/ 路径下删除了很多文件夹,以释放我机器上的一些空间 . 之后我开始收到此错误 .

    我只需重新启动我的机器,一切正常 .

  • 0

    禁用防火墙后,我能够毫无问题地运行它 .

  • 1

    同样的问题,但需要在 Admin Mode 中启动VS2013 .

  • 11

    无需删除目录C:\ Users [you] \ Documents \ IISExpress中的整个IISExpress文件夹 .

    只是评论:

    <binding protocol="https" bindingInformation="*:8090:localhost" />
    

    在IISExpress文件夹中的applicationhost.config文件中 .

  • 4

    对我有用的唯一解决方案是创建另一个测试项目 . 然后按照以下步骤操作:

    • 右键单击项目,然后转到“属性” - >“Web”

    • 在“使用本地IIS Web服务器”部分的项目URL下,复制项目URL(http:// localhost:59002 /) - 这是来自测试项目 .

    • 导航到发出此错误的项目 . 右键单击该项目,然后转到“属性” - >“Web” .

    • 将项目URL粘贴到“使用本地IIS Web服务器”部分(从测试项目复制的URL) . 关闭测试项目并保存 .

    • 删除测试项目并运行发生错误的项目 . 之后工作......

    也许不是最好的方式,但这是我能让这个工作的唯一方法 . 我重新加载我的笔记本电脑(硬盘崩溃)并从他们托管的地方的服务器获得了所有项目后收到此错误消息 .

  • 2

    Jason的Shavers系列文章http://jasonrshaver.com/?tag=/Client+Certificates解释了如何设置applicationhost.config站点条目以允许应用程序在ssl或标准http中运行 .

    他建议的一件事是为网站添加两个绑定条目 . 这就是我所做的 .

    <bindings>
                    <binding protocol="http" bindingInformation="*:59945:localhost" />
                    <binding protocol="https" bindingInformation="*:44300:localhost"/>
                </bindings>
    

    他还建议改变其他设置也是如此 . 它适用于我的三台机器中的两台 . 每当我被告知在应用程序主机中手动配置站点时,它通常都与绑定有关 . (例如,为多个Web应用程序使用相同的端口 . )

  • 195

    我的问题需要一个3倍的解决方案:

    • 删除Documents文件夹中的IISExpress文件夹 .

    • 将Web项目设置为启动项目,方法是右键单击它并选择"Set as startup project",或者通过解决方案属性执行此操作 .

    • 设置启动URL,或设置为"Current Page"或"Specific Page" . 我被设置为"Don't open a page. Wait for a request from an external application"并且我不得不将其更改为"Specific Page",我将其留空以便它将进入我的应用程序的主页,然后才能工作 .

  • 1

    为未来的读者分享这一点 . 手动创建 virtual directory 为我工作 .

    • 在解决方案资源管理器中选择项目

    • 按Alt Enter

    • 转到网站部分

    • 单击“创建虚拟目录”

  • 14

    我们的网站遇到了同样的问题 . 我们能够在Visual Studio中修复这一切 . 我们正在使用2012 Ultimate .

    我们看到的根本问题是,启用SSL后,由于某种原因,VS为标准和安全URL分配了相同的端口 . 当我们从TFS中删除代码时,似乎出现了这个问题 .

    为了解决这个问题,我们采取了以下步骤:

    • 右键单击该项目并转到 Properties - > Web

    • Use Local IIS Web Server 部分的项目URL下,从URL中删除"s"并保存 . (EG . 从https://:44301转到http://:44301 . 这将允许下一步工作)

    • 在解决方案资源管理器中,选择项目并在“属性”窗口中(如果未显示则按F4)将 SSL Enabled 更改为 False ,然后返回 True . 它将生成一个与标准URL不同的新端口(在我的情况下,我有44301作为我的SSL和44305作为我的标准)

    • 导航回属性 - > Web并将"s"添加回项目URL .

    • F5和骑!

    确保未选中 Override application root URL 的复选框 .

  • 317

    那么上面提到的步骤都不适合我 . 在我的情况下,我的 applicationhost.config 文件在某种程度上错过了以下两行代码

    <add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
        <add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
    

    希望这可以帮助一些人 .

相关问题