ASP.NET 5 MVC:无法连接到 Web 服务器“IIS Express”
Posted
技术标签:
【中文标题】ASP.NET 5 MVC:无法连接到 Web 服务器“IIS Express”【英文标题】:ASP.NET 5 MVC: unable to connect to web server 'IIS Express' 【发布时间】:2016-06-11 02:05:18 【问题描述】:我在做什么:
打开 Visual Studio 社区 2015 文件 -> 新建 -> 项目 在 Visual C# 下:Web -> ASP.NET Web 应用程序 Web 应用程序 然后按 f5 弹出错误“unable to connect to web server 'IIS Express'.”删除位于Documents\IISExpress\config
的applicationhost.config
不会更改错误消息。 (在program files
和program files (x86)
中还有一个IISExpress
文件夹。)
我注意到了,不知道是不是问题:
未找到引用文件“lib/jquery-validation/jquery.validate.js”。
我得到了一个带有 rawcap 的转储,但我并没有注意到太多。那里有一些东西:
"Framework":"FrameworkName":"DNXCore,Version=v5.0","FriendlyName":"DNX Core 5.0","ShortName":"dnxcore50","RedistListPath":null
我没有发现问题,但我有网络数据,如果这可以帮助找出我无法连接到网络服务器的原因。我立即收到RST,ACK
,所以我猜测端口已关闭,无论此 Web 服务器是什么,都没有设置。
更多关于这个问题:800700c1 error from /trace:error
我试过了:
删除 applicationhost.config(并更改端口号) 以管理员身份运行 Visual Studio 在 Documents 中删除 IISExpress 文件夹(在重新安装文件夹之前更改错误消息) 关闭和打开 ssl,将 url 复制到启动框。 (注意:我没有使用 ssl) 清除所有 sfc /scannow 错误 以 x86 版本和 64 位版本启动 iisexpress【问题讨论】:
这有帮助吗? ***.com/questions/15873126/…。还是换端口? ***.com/questions/23502327/… 尝试打开visual studio时右键单击并以管理员身份打开.. 谢谢你,但这也没用。 在完全没有改变之后,每隔一段时间就会发生这种情况。这个问题已经存在了一段时间,MSFT 仍然没有解决。讨厌他们,他们的支持很糟糕。搞砸他们。 这篇文章解决了我的问题-> overengineer.net/… 【参考方案1】:尝试使用其他端口。我刚刚建立了一个新的 Core 1.0 RC1 项目并得到了同样的错误。
右键单击 web 项目 调试选项卡 关闭再打开启用 SSL,它应该会生成一个新的随机端口 复制 SSL URL 并粘贴到启动 URL 框中 运行项目为我工作 (TM)。
答案来自:https://***.com/a/28650554/134761
【讨论】:
它有效,但仅当我使用端口 60000 时。端口 6000 返回错误:不安全的端口。 在 Visual Studio 2019 中不起作用 - 它每次都使用相同的端口。 @EJoshuaS-ReinstateMonica 我相信这已经改变了很多。看看您的Startup
类是如何配置的,以及您拥有哪些 appsettings.json
文件。还有Properties\launchSettings.json
在本地启动不同的配置文件。 docs.microsoft.com/en-us/aspnet/core/fundamentals/…dejanstojanovic.net/aspnet/2018/december/…
谢谢你帮了我很多,我一直在努力解决这个愚蠢的错误:)【参考方案2】:
我只是打开了“启用 SSL”。这解决了我的问题。
-
右键单击 web 项目
调试选项卡
将启用 SSL 切换为“开启”(如果关闭,我的情况就是这样)
【讨论】:
【参考方案3】:我没有弄清楚是什么导致了这个问题。 但是repair install 修复了它。
【讨论】:
【参考方案4】:安装 Visual Studio 2015 更新 2 后,我开始遇到同样的错误。我尝试了上面的一切,但没有运气。但是,我找到了一个适合我的解决方案:
-
删除
YourSolutionFolder\\.vs\config\applicationhost.config
文件(注意:.vs为隐藏文件夹)
打开 Visual Studio,右键单击网站 > 属性 > 调试选项卡 > Web 服务器设置 > 应用 URL - 更改端口号。
如果您将 IIS 配置为使用相同的端口,(停止应用程序/使用不同的端口)并重试。
【讨论】:
对我来说是.vs\config\<MyProject>\config\applicationhost.config
对于 Net Core 2.2 项目 - 经过一番巨大的努力并尝试了从删除 .vs 文件夹、删除 IIS Express 配置、更改端口号、更改绑定到以管理员身份运行 VS 等所有操作后,我终于通过以下方式解决了问题1.关闭VS,2.删除launchSettings.json
3.打开重新生成launchSettings.json
的VS。文件已损坏或不正确,甚至在更改导致失败时都不是很明显。
谢谢@QuintonSmith。您的解决方案在 .NET Core 3.1 中也适用于我。
感谢 Quinton 拯救了这一天
任何使用@QuintonSmith 删除launchSettings.json
方法的人,它位于<project>/Properties
文件夹下。我花了一分钟才找到它的确切位置,但它成功了!【参考方案5】:
退出VS并删除(project)\.vs\applicationhost.config
文件。重启VS。它应该开始工作了。
【讨论】:
这在 VS2017 中对我有用,无需更改端口。 为我完成此操作后,需要以管理员身份运行 Visual Studio,并且工作正常,谢谢! 以管理员身份运行对我来说尤其重要。 (虽然我有 Asp.net Core 2.0 VS2017。 删除了整个.vs
文件夹并为我工作,就是这样
重启 VS2017 并没有解决问题,但重启计算机为我解决了问题。不需要更改端口或删除文件夹。希望对其他人有所帮助。【参考方案6】:
我刚刚遇到了同样的问题,我杀死了所有仍在运行的“iisexpress.exe”进程。这对我有用!
【讨论】:
【参考方案7】:我不会假装完全理解是什么 MS 错误造成了这个问题,但这里有另一个潜在的解决方案:
在 .vs/config/applicationHost.config 文件中,找到 <system.applicationHost><applicationPools>
部分。在池下,确保 managedRuntimeVersion
属性值与系统 IIS 配置中的值(和/或已安装的 .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”的替换。这解决了问题。
似乎发生了什么:
我相信 VS 正在为 .NET 框架生成具有“默认”版本的 applicationHost.config 文件,该文件可能与系统上安装/配置的特定版本不匹配。您可以通过在进程监视器中跟踪执行并找到 iisexpress.exe 的命令行来调试/观察此问题。在添加了/trace:error
的情况下运行此命令会产生更多信息性消息,说明无法使用 v4.0 版预加载 CLR。也就是说:
启动 IIS Express ... 尝试预加载 CLR 版本 v4.0 时失败。小时 = 80131700 无法初始化 W3WP_HOST hr = 80131700 过程模型关闭调用 无法启动 iisexpress。
无论如何,我认为这可能对其他人有帮助,因为在网上有多个参考资料包含不良信息是很常见的,而且我个人现在已经打过几次了。
【讨论】:
这些解决方案都不适用于我,如果您已经安装了默认的 Windows IIS(Windows 附带)并且可以访问它,请尝试使用它,这解决了我的问题,只需添加新网站或那里的新应用程序,它已经完成,无论如何,IIS Express 无法打开页面很奇怪。如果您需要跟踪它,只需使用ctrl + alt + p
短键将其附加到进程并检查Show process for all users
并选择w3wp.exe
(有时需要刷新网站才能找到w3wp.exe
)然后点击Attach
按钮.【参考方案8】:
我可以通过改变一个东西来切换这个错误。在我的 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 以尝试使用该协议运行项目。显然这里不是进行这种改变的地方。我怀疑它在同一个端口上创建了多个绑定,而 IIS Express 不喜欢这样。
【讨论】:
我必须这样做才能增加端口号。我原来的帖子被“卡住”了,我现在没有时间重新启动或弄清楚如何修复它 突出显示更改:http
而不是 https
【参考方案9】:
在我的情况下,这是在 IIS Express 尝试附加到的同一端口上侦听的其他应用程序。我必须运行 netstat -ao
来查看使用相同端口和关闭应用程序的进程的 PID。在我的例子中,应用程序是 Viber。
【讨论】:
【参考方案10】:如果它正在工作并突然停止,请先尝试:
关闭 Visual Studio 杀死 iisexpress.exe 进程 重新打开 Visual Studio【讨论】:
【参考方案11】:在cmd中试试
taskkill /im iisexpress.exe /f
taskkill /im dotnet.exe /f
然后按 f5。 我不会更改端口、删除文件或重启 VS。
【讨论】:
可能解释一下你的回答。仅仅杀死进程可能不是这里的答案。之后呢?【参考方案12】:当我在 applicationhost.config 中添加新绑定后,我的问题就发生了,以管理员身份运行解决了问题。
【讨论】:
【参考方案13】:我遇到了同样的问题,但我修复它的方法是转到 applicationhost.config 并删除我没有添加的端口(我猜是 IIS Express),它将我的特定端口站点放在另一个端口上。
这是我的绑定的配置文件:
<bindings>
<binding protocol="http" bindingInformation="*:54764:localhost" />
<binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>
我删除了第一个绑定项,因为我想要的唯一端口是 44360。我的配置文件现在看起来像这样:
<bindings>
<binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>
现在我调试时看不到错误。
我还注意到我项目中的第二个 API 也分配了端口 80,我也将其删除。
【讨论】:
【参考方案14】:我在 Program.cs 中添加了.UseUrls("https://localhost:<some port>/")
。这似乎对我有用!
【讨论】:
【参考方案15】:对于以下内容, 我所要做的就是导航到当前项目解决方案目录 > .vs > config 以删除 applicationhost.config,然后重新启动 VS 并正常运行。
.vs 是一个隐藏文件夹
【讨论】:
【参考方案16】:只需关闭视觉工作室并重新打开并执行。 它对我有用。
【讨论】:
【参考方案17】:以管理员权限运行 VisualStudio 并运行项目。然后关闭 VisualStudio 和所有错误并以普通用户再次运行 VisualStudio。
这是为我做的。
看起来 IIS 必须向某些具有管理员权限的配置写入一些内容(端口 80 不适用于普通用户,但端口 6767 工作正常)。
【讨论】:
只有管理员权限才允许应用程序绑定到小于 1024 的端口号。这就是 6767 适合您的原因。【参考方案18】:我的解决方案(对于 .net core 2.0)是我忘记在 applicationUrl 中添加端口号,在 launchSettings.json 的 iisExpress 下
"iisExpress":
"applicationUrl": "https://localhost:50770",
"sslPort": 50770
【讨论】:
当launchSettings.json
被VS自动生成或更新时,applicationUrl
最后应该有/
。更多信息请访问blog.lextudio.com/…【参考方案19】:
对我有用的解决方案是: 关闭 VS 项目 在文件资源管理器中,导航到项目并删除整个“.vs”文件夹 重启项目 作为“调试”运行 作品 显然,它与“applicationhost.config”文件有关。
享受吧!
【讨论】:
【参考方案20】:对我来说,问题是另一个进程正在使用相同的端口。 (在我的情况下,outlook 使用与我的网站相同的端口,因此我的网站无法启动)
是的,您可以更改本地端口,但如果您正在运行 API 或其他应用程序需要的东西,您并不总是希望这样做。
要获取哪些应用程序正在使用哪些端口的列表,请打开 CMD 并键入“netstat -aon” 您将获得一个端口列表。找到您的网站应该使用的端口,或者您想要使用的端口并记下/记住 PID。
现在打开任务管理器并单击选项卡“详细信息”。使用您的 PID 查找进程并结束它。现在您应该能够使用该端口启动 IIS Express。
【讨论】:
【参考方案21】:我能够通过重新启动计算机来解决此问题。我尝试了一些不成功的事情,最后放弃并重新启动了我的计算机。在我重新启动后,它已经运行了几天。可能是某个进程挂起的结果。
【讨论】:
【参考方案22】:我刚刚将我的配置文件从“IIS Express”更改为“MyProjectName”(我认为它使用 kestrel 作为 http 服务器而不是 IIS),现在它工作正常:
【讨论】:
这不是解决方案,而是解决方法。您的回答建议使用不同的服务器 - Kestrel - 而 OP 显然正试图让 IIS-Express 工作。 拔了三天头发后,这个解决方案帮了我的忙。谢谢【参考方案23】:当我更新项目的端口号时,我在 .net core 2.0 中遇到了这个问题。
我能够分两步解决问题:
第 1 步:删除隐藏在主解决方案文件夹中的 .vs 文件夹。 (在此之前关闭visual studio)然后当你再次启动visual studio时,其中的这个文件夹和文件(applicationhost.config)将由visual studio自动创建。 第 2 步:对于多个启动项目,如果您仍然面临问题,则将项目一个一个作为启动项目运行,然后作为多个启动项目运行。【讨论】:
解决方案奏效了。谢谢 :) DELETE .git 文件夹怎么样?【参考方案24】:我有同样的问题,我可以通过更改端口号来解决它。
右击项目并选择属性
转到调试部分
在 Web Server Settings 下更改 App URL 端口 [只需增加一个 :)]
【讨论】:
你不是一个开始,而是一个超级巨星!谢谢它的工作 对我不起作用。【参考方案25】:只需以管理员身份运行 Visual Studio 即可。
【讨论】:
我以管理员身份运行 VS,但仍然遇到同样的问题。 VS 不应以管理员权限运行。如果您只能通过在管理员模式下启动来解决问题,那么您可能做错了什么。【参考方案26】:对我来说,这是instructions的混合体:
删除您的 Web 应用程序的 .vs\applicationhost.config 并尝试 再次。
然后,也许最重要的是,以管理员权限运行 Visual Studio。
【讨论】:
【参考方案27】:从项目文件夹中删除 bin 和 obj 文件夹并重建。
【讨论】:
虽然手动清理经常会有所帮助,但在这种情况下它不会解决问题,因为问题存在于 applicationhost.config 文件中,并且很可能是由于尝试使用相同的 IP 地址造成的两次 为我工作,因为在那之前我并没有真正做任何改变【参考方案28】:我修复了 Visual Studio 2017 安装,它再次工作
【讨论】:
【参考方案29】:还有另一种获得相同错误的方法:
使用0.0.0.0
作为 IP 地址。这在生产中运行良好,但对我们来说在 IIS Express 上开始失败。在 dev 中将其改回 localhost,解决了我们的问题。
【讨论】:
【参考方案30】:我正在使用 VS2017,我禁用 Tool > Options > Debugging > Enable javascript debugging for ASP.NET
然后工作。
【讨论】:
以上是关于ASP.NET 5 MVC:无法连接到 Web 服务器“IIS Express”的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC 4 EF6 无法连接到 SQL Server Express 数据库
无法从 ASP.NET Web 应用程序连接到我的 SQL Server Express
无法使用 AFNetworking 将 iOS 连接到 asp.net webservices
ASP.NET Core MVC:使用 SQL Server 身份验证连接到现有数据库
从 ASP.NET MVC 项目调用 .NET CORE 5 Web API 微服务时无法检索 BadRequest 错误