无法启动IIS Express Web服务器

qea 发布于 2019-03-08 iis 最后更新 2019-03-08 18:18 39 浏览

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

Microsoft Visual Studio Configuring Web https://localhost: for ASP.NET 4.5 failed. You must manually configure this site for ASP.NET 4.5 in order for the site to run correctly. Could not find the server https://localhost:44300/ on the local machine. Make sure the local IIS server has been configured to support secure communications. OK Help
虽然解决方案打开。另外,当我尝试从调试菜单运行它时,出现以下错误:
 Unable to launch the IIS Express Web server.
The start URL specified is not valid. https://localhost:44300/
我无法调试代码。如何摆脱这些错误,并从VS 2012调试/运行网站? 请建议。
已邀请:

lmagni

赞同来自:

为未来的读者分享这一点。手动创建虚拟目录对我有用。

  • 在解决方案资源管理器中选择项目
  • Alt + 输入
  • 转到网页部分
  • 单击“创建虚拟目录”

ieos

赞同来自:

无需删除目录C:\ Users [you] \ Documents \ IISExpress中的整个IISExpress文件夹。 只是评论:

<binding protocol="https" bindingInformation="*:8090:localhost" />
在IISExpress文件夹中的applicationhost.config文件中。

amodi

赞同来自:

在我的例子中,我去了Debug> Project Properties> Web(在visual studio中),然后我在服务器部分将IIS Express更改为Local IIS

yet

赞同来自:

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

  1. 右键单击该项目,然后转到“属性” - >“Web”
  2. 在“使用本地IIS Web服务器”部分的项目URL下,复制项目URL(http:// localhost:59002 /) - 这来自测试项目。
  3. 导航到发出此错误的项目。右键单击该项目,然后转到“属性” - >“Web”。
  4. 将项目URL粘贴到“使用本地IIS Web服务器”部分(从测试项目复制的URL)。关闭测试项目并保存。
  5. 删除测试项目并运行发生错误的项目。之后工作......
也许不是最好的方式,但这是我能让这个工作的唯一方法。我重新加载我的笔记本电脑(硬盘崩溃)并从他们托管的地方的服务器获得了所有项目后收到此错误消息。

ynulla

赞同来自:

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

  1. 删除Documents文件夹中的IISExpress文件夹。
  2. 将Web项目设置为启动项目,方法是右键单击它并选择“设置为启动项目”,或者通过解决方案属性执行此操作。
  3. 设置启动URL,或设置为“当前页面”或“特定页面”。我设置为“不要打开一个页面。等待来自外部应用程序的请求”,我不得不将其更改为“特定页面”,我将其留空,以便它将转到我的应用程序的主页,然后才能工作

fet

赞同来自:

我有同样的问题,在我的情况下,我只是清理,然后重建我的解决方案,它对我有用

ket

赞同来自:

首先删除目录中存在的文件IISEXPRESS,然后开始调试。 如果这不能解决问题,请转到您的项目( Ctrl + Alt + L )。右键单击 - >属性 - >调试并选中“启用Windows身份验证”。

xnam

赞同来自:

我遇到过同样的问题。我通过更改项目属性中的端口号来解决它。我将端口号50624更改为50625。 enter image description here

cea

赞同来自:

那么上面提到的步骤都不适合我。在我的情况下,我的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" />
希望这可以帮助一些人。

fdolor

赞同来自:

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

ket

赞同来自:

请仔细阅读快照,我遇到了同样的错误,但以下设置解决了这个问题

  1. 选择当前页面作为开始操作
  2. 在Servers选项中选择特定端口并输入端口26641,在虚拟路径中输入/
  3. 应取消选中NTLM选项

znihil

赞同来自:

我在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.
至少你可以尝试一下,因为它对我有用。

womnis

赞同来自:

请尝试以下步骤:

  1. 删除IISExpress文件夹,如@Yehuda Shapira所说
  2. 重新启动计算机
  3. 删除项目中的.vs文件夹
祝你好运!

yeum

赞同来自:

如果使用VS2015或以上 确保iisexpress进程未运行。 确保没有其他进程正在使用您所需的端口。您可以通过在控制台中执行netstat -a -b来实现。 然后删除以下文件

<<path_to_solution_folder>>\.vs\config\applicationhost.config
请注意可能隐藏.vs文件夹 在这样做并尝试启动应用程序后,您可能会得到
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.
然后转到{Project Properties} - > Web并按“Create Virtual Directory”按钮 enter image description here

enemo

赞同来自:

我今天遇到了这个错误。运行Win 8.1和VS 2013.突然我的项目无法运行,我收到消息“无法启动IIS Express Web服务器”,没有进一步的信息。 过了一会儿,我发现IIS Express无法启动的所有项目都在运行.net 3.5。运行更高版本的项目确实启动了。 我的解决方案是删除.net 3.5(从控制面板 - >打开/关闭Windows功能),重新启动Windows并再次添加.net 3.5。

xipsam

赞同来自:

我的解决方案是从IIS Express切换到本地IIS。 Solution properties 确保您的虚拟目录绑定到同一端口。

lest

赞同来自:

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

datque

赞同来自:

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

tiure

赞同来自:

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

HKEY_CURRENT_USER\Software\Microsoft\IISExpress
我有一个条目CustomUserHome指向我的网站,这导致了严重破坏。

saut

赞同来自:

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

  1. 在VS2013中打开调试> {YourWebsiteName}属性
  2. 选择“网络”标签。
  3. 在“服务器”下,我发现“覆盖应用程序根URL”已被选中。我取消选中并保存。
这就是我需要的所有东西。

tin

赞同来自:

我有同样的问题,感谢@Jacob提供有关它的信息。 原因是 - 您的项目在位于的配置文件applicationhost中输入错误

C:\Users\(yourusername)\Documents\IISExpress\config 
  1. 关闭所有Visual Studio解决方案。
  2. 将IISExpress文件夹重命名为某些IISExpress-Copy(而不是删除您可以拥有它的副本)
  3. 现在再次打开VS并构建/调试项目,现在您将看到再次为您创建IISExpress文件夹并进行正确配置。
它对我有用,并希望它也适合你。

oalias

赞同来自:

没有其他解决方案适合我。我禁用了编辑并继续,一切都很好:)

pullam

赞同来自:

安装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

wearum

赞同来自:

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

frem

赞同来自:

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

eut

赞同来自:

我有完全相同的问题。
原因 - 糟糕的IIS配置文件。 尝试删除自动创建的IISExpress文件夹,该文件夹通常位于%userprofile%/Documents,例如C:\Users[you]\Documents\IISExpress。 不要担心,VS应该再次创建 - 正确,这次 - 再次运行解决方案。


编辑:删除文件夹的命令行:
rmdir /s /q "%userprofile%\Documents\IISExpress"

ket

赞同来自:

您似乎需要进行一些配置,因为您似乎正在使用SSL;以下是Scott Hanselman本人的分步指南: http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx

womnis

赞同来自:

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应用程序使用相同的端口。)

qquasi

赞同来自:

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

qodio

赞同来自:

从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),一切正常。

modit

赞同来自:

我们的网站遇到了同样的问题。我们能够在Visual Studio中修复这一切。我们正在使用2012 Ultimate。 我们看到的根本问题是,启用SSL后,由于某种原因,VS为标准和安全URL分配了相同的端口。当我们从TFS中删除代码时,似乎出现了这个问题。 为了解决这个问题,我们采取了以下步骤:

  1. 右键单击该项目,然后转到属性 - > Web
  2. 在“使用本地IIS Web服务器”部分的项目URL下,从URL中删除“s”并保存。 (例如,从https://:44301转到http://:44301。这将允许下一步工作)
  3. 在解决方案资源管理器中,选择项目,然后在属性窗口中(如果未显示则按F4键)将SSL启用更改为False 然后再返回True 。它将生成一个与标准URL不同的新端口(在我的情况下,我将44301作为我的SSL,44305作为我的标准)
  4. 导航回属性 - > Web并将“s”添加回项目URL。
  5. F5和骑!
确保未选中“覆盖应用程序根URL”复选框

dodit

赞同来自:

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

C:\Program Files (x86)\IIS Express>iisexpress /site:MyWebSiteName
在VS运行之后,我尝试创建一个防火墙规则以允许我的端口。

lut

赞同来自:

同样的问题,但需要在管理模式下启动VS2013。

hquia

赞同来自:

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

Unable to launch the IIS Express Web server.
它在事件日志中记录了一条错误消息:
The worker process failed to pre-load .Net Runtime version v4.030319.
正确的运行时版本是v4.0.30319(注意第二个时期。) 我采取的纠正措施:
  1. 导航到C:\ Users \\ Documents \ IISExpress \ config
  2. 编辑applicationhost.config
  3. 找到配置部分
  4. 将对“v4.030319”的任何引用更正为“v4.0.30319”
Visual Studio在下次调试Web应用程序时成功启动了IIS Express。

pporro

赞同来自:

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

goto setting (f5) -> network->personal firewall->rules and zones
在“zone and rule editor”中单击“setup”并找到vs 201012或...并允许访问网络。

ramet

赞同来自:

我最近遇到了这个问题,这是因为项目存储在网络驱动器上。由于IIS本地作为NetworkService运行,因此它无法访问存储项目的网络共享。假设从网络共享打开项目是违反最佳实践的,我将项目复制到本地C:\驱动器,然后项目按预期运行。

nerror

赞同来自:

对的。但对于那些不想挖掘答案的人来说,这里是:

  1. 关闭Visual Studio(可能没有必要,但不会受到伤害)。
  2. 导航到“文档”文件夹。这是我的IISExpress配置目录。
  3. 在config文件夹中,有一个名为applicationhost的文件。打开那个。
  4. 搜索项目名称。它应该是在Visual Studio中添加的,当它在之前的尝试中被轰炸时。
  5. 请注意,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

cut

赞同来自:

一直在搞乱IISExpress和Project试图让它听到与localhost不同的URL,当回复时我遇到了这个错误,并且在完成了这里的所有答案之后,它们都没有工作。 最后注意到在项目Porperties - > Web中我在Start Action下选中了'Start URL',但输入框为空。将此更改为“当前页面”修复了我的问题。

ksequi

赞同来自:

关闭防火墙之后,我在管理员打开后,双重检查所有设置都正确后,我也遇到了这个问题。 我的问题很独特,因为我想在本地测试SSL,但也可以通过局域网获得服务。所以我更改了应用程序URL以使用本地IP aka。我的情况是192.168.1.10。 切换回localhost修复了问题,关闭了SSL,因此我发现本地SSL证书仅适用于localhost。