ASP.NET 5 MVC:无法连接到Web服务器“IIS Express”

我在做什么:

  • 打开Visual Studio社区2015年
  • 文件 – >新build – >项目
  • 在Visual C#:Web – > ASP.NET Web应用程序下
  • Web应用程序
  • 然后按f5popup错误“ 无法连接到Web服务器”IIS Express“”。

删除位于Documents\IISExpress\config不会更改错误消息。 ( program filesprogram files (x86)也有一个IISExpress文件夹。)

我注意到的东西,我不知道是否是一个问题:

未find引用文件“lib / jquery-validation / jquery.validate.js”。

我得到了一个rawcap转储,但我没有注意到那里。 有一些在那里:

“Framework”:{“FrameworkName”:“DNXCore,Version = v5.0”,“FriendlyName”:“DNX Core 5.0”,“ShortName”:“dnxcore50”,“RedistListPath”:null}

我没有注意到一个问题,但我有networking数据,如果这可以帮助找出为什么我不能连接到Web服务器。 我得到一个RST,ACK即时确认,所以我猜测端口是closures的,无论这个networking服务器是不是正在设置。

有关此问题的更多信息: 800700c1错误来自/ trace:错误

我试过了:

  • 删除applicationhost.config(并更改端口号)
  • 以pipe理员身份运行visual studio
  • 在文档中删除IISExpress文件夹(更改错误消息,直到重新安装该文件夹)
  • 切换和closuresssl,复制url发射框。 (注意:我没有使用ssl)
  • 清除所有sfc / scannow错误
  • 开始使用x86版本和64位版本的iisexpress

安装Visual Studio 2015更新2后,我开始得到相同的错误。 我尝试了一切,没有运气。 不过,我find了一个适合我的解决scheme:

  1. 删除YourSolutionFolder \ .vs \ config \ applicationhost.config文件(注意:.vs是一个隐藏文件夹)
  2. 打开Visual Studio,右键单击网站>属性>debugging选项卡> Web服务器设置>应用程序URL – 更改端口号。

退出VS并删除(项目).vs \ applicationhost.config文件。 重新启动VS. 它应该开始工作。

尝试使用不同的端口。 我刚刚build立了一个新的Core 1.0 RC1项目,并得到了同样的错误。

  • 右键单击web项目
  • debugging选项卡
  • 切换启用SSLclosures和再次,它应该产生一个新的随机端口
  • 复制SSL URL并粘贴到“启动URL”框中
  • 运行该项目

为我工作(TM)。

从以下答复: https : //stackoverflow.com/a/28650554/134761

在这里输入图像说明

我能够通过改变一件事来切换这个错误。 在我的ASP.Net Core 1.0 RC2 Web应用程序项目的launchSettings.json文件中:

  "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "https://localhost:18177/", "sslPort": 0 } }, 

  "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:18177/", "sslPort": 0 } }, 

我已经更改为https尝试使用该协议运行项目。 显然这不是做这个改变的地方。 我怀疑它是在同一个端口上创build多个绑定,IIS Express不喜欢。

我不会假装完全明白MS bug造成这个问题的原因,但这里有另一个可能的解决scheme:

在.vs / config / applicationHost.config文件中,find<system.applicationHost><applicationPools> 。 在池下,请确保managedRuntimeVersion属性值与系统的IISconfiguration(和/或安装的.NET框架的版本)中的值匹配。

例如,你可能会发现(和我一样)生成的文件有:

  <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> 

就我而言,你可以用下面的代替:

  <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0.30319" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> 

请注意从“v4.0”到“v4.0.30319”的replace。 这解决了这个问题。


似乎正在发生:

我相信VS正在为.NET框架生成一个“默认”版本的applicationHost.config文件,该文件可能与系统上安装/configuration的特定版本不匹配。 您可以通过跟踪Process Monitor中的执行情况并查找iisexpress.exe的命令行来debugging/观察此问题。 使用/trace:error运行这个命令会产生一个关于在v4.0版本中无法预装CLR的更多信息。 以机智:

启动IIS Express …
尝试预加载CLR版本v4.0时失败。 hr = 80131700
无法初始化W3WP_HOST hr = 80131700
过程模型closures调用
无法启动iisexpress。


无论如何,认为这可能会对别人有帮助,因为它是常见的,有多个网上参考与坏信息,我亲自打了几次现在。

我没有弄清楚是什么导致了这个问题。 但修复安装固定它。

我刚刚遇到同样的问题,我杀死了所有仍在运行的“iisexpress.exe”进程。 这对我有效!

在我的情况下,这是一些其他的应用程序侦听IIS Express试图附加到相同的端口。 我必须运行netstat -ao才能看到使用相同端口和closures应用程序的进程的PID。 在我的情况下,应用程序是Viber。

试试这个,如果它工作,突然停止:

  • closuresVisual Studio
  • 杀死iisexpress.exe进程
  • 重新打开Visual Studio

尝试在CMD

 taskkill /im iisexpress.exe /f taskkill /im dotnet.exe /f 

然后按f5。 我不更改端口,删除文件或重新启动VS.

我一旦在applicationhost.config中添加一个新的绑定,就以pipe理员身份运行,修复了这个问题。

我有这个相同的问题,但我修复它的方式是去applicationhost.config并删除一个端口,这是我没有添加(IIS Express的,我猜)将我的具体端口站点放在另一个端口。

这是configuration文件对我的绑定有什么:

 <bindings> <binding protocol="http" bindingInformation="*:54764:localhost" /> <binding protocol="https" bindingInformation="*:44360:localhost" /> </bindings> 

我删除了第一个绑定项目,因为我想要的唯一的端口是44360.我的configuration文件现在看起来像这样:

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

现在我在debugging时看不到错误。

我也注意到我的第二个API在我的项目中也分配了80端口,我也删除了这个。

像一只鸡一样拍着我的胳膊,像狗一样吠叫把它固定在我身上。 噢,我还添加了.UseUrls("https://localhost:<some port>/")到Program.cs。 不完全确定哪一个为我固定。

我只是在“启用SSL”上进行切换。 这解决了我的问题。

  1. 右键单击web项目
  2. debugging选项卡
  3. 切换启用SSL“打开”(如果closures,这是我的情况)