我在做什么:

开放Visual Studio社区2015 File ->新建->项目 在Visual c#: Web -> ASP下。NET Web应用程序 Web应用程序 并按f5弹出错误“无法连接到web服务器'IIS Express'”。

删除applicationhost。config,位于Documents\IISExpress\config中,不会更改错误消息。(程序文件和程序文件(x86)中也有一个IISExpress文件夹。)

我注意到一件事,我不知道这是不是问题

引用文件'lib/jquery-validation/jquery.validate.js'未找到。

我有一堆破烂,但我没注意到里面有什么。这里有一些内容:

“框架”:{“框架”

我没有注意到问题,但我有网络数据,如果这可以帮助找出为什么我不能连接到web服务器。我立即得到一个RST,ACK,所以我猜端口是关闭的,不管这个web服务器是什么,没有被设置。

关于这个问题的更多信息:800700c1 error from /trace:error

我试过了:

删除applicationhost。配置(和更改端口号) 以管理员身份运行visual studio 删除文档中的IISExpress文件夹(更改错误消息,直到文件夹重新安装) 切换SSL关闭和打开,复制url到启动框。(注意:我没有使用ssl) 清除所有SFC /scannow错误 从x86版本和64位版本启动iisexpress


当前回答

在我的案例中(使用ASP。NET Core 3.1和Visual Studio Professional 2019),我已经见过两次这种情况,在这两种情况下,修复它就像重新启动我的电脑一样简单。

我强烈怀疑,但不能证明,这也可以通过重新启动一个特定的进程来实现(就像@Codenova的回答)。

其他回答

如果你使用的是VS 2017或VS 2019。Net Core,你可以直接进入launchSettings。只需更改iisSetting的applicationUrl键的端口号。

我也有同样的问题,但我修复它的方式是通过去applicationhost。配置并删除一个不是由我添加的端口(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也分配给它,我删除了它。

我的问题和其他人说的类似,但有点不同,可能会对别人有所帮助。我运行的是VS 2019和。net 5.0 ASP.NET。

博士TL;

确保套接字绑定在.vs\…\applicationhost中。config和launchSettings。json的项目和选择的配置匹配当前启用的网卡:)。


细节

我一直在摆弄我的.vs\…\applicationhost。config和launchSettings。json能够主机不只是在本地主机,但在我的网卡IP地址/端口(套接字)上测试在另一个设备。最近,我添加了第二个套接字,让同事通过VPN测试一些东西。当VPN未连接时,我无法启动IIS。

我重新连接了VPN,一切都恢复正常了。然后在断开VPN连接后,我更新了launchSettings。json(并重新启动VS2019),但忘记更新applicationhost.config中的绑定。我相信IIS Express还可以再托管一次,但第二次就不行了。就在那时,我意识到我在applicationhost中仍然有VPN套接字。配置绑定。我更新了它,重启了VS2019,一切都很好。

如果它正在工作,但突然停止了,先试试这个:

关闭Visual Studio 关闭iisexpress.exe进程 重新开放Visual Studio

许多回答并没有完全解决眼前的问题。对我来说,真正的问题是在我的应用程序主机中有两个使用相同端口的绑定。配置文件和我没有打开端口到我的第二个(非localhost)绑定。VS将允许你在这些情况下仍然运行,但前提是你在管理模式下(因此上面所有的答案)。

您实际上是在同一个端口上创建了应用程序的两个IIS express实例,因此需要更改applicationhost中的一个端口。配置文件将允许您继续。有两个不同的应用程序主机。配置文件。您将希望选择具有在项目属性中看到的绑定IP和端口的一个

.

转到可以看到项目解决方案和项目文件夹的文件夹(在文件资源管理器中显示隐藏项)。导航到你隐藏的。vs文件夹-> "YourAppName"文件夹-> config。它应该包含您在项目属性中看到的绑定信息。

例子:

<bindings>
    <binding protocol="http" bindingInformation="*:7000:127.0.0.1" />
    <binding protocol="http" bindingInformation="*:7000:192.168.0.5" />
</bindings>

将其中一个端口号更改为“7000”以外的值,这样您就不会试图使用相同的端口。

在我的例子中,我使用的是192地址,这不是一个本地主机地址,所以我需要使用一些netsh命令来打开该端口和ip。下面的链接显示了如何为IIS Express打开端口以允许远程连接。以普通用户身份运行将无法工作,除非运行列出的这些netsh命令。

netsh命令如下:

Netsh HTTP添加urlacl url=http://192.168.1.42:58938/ user=everyone netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=58938 profile=private remoteip= local子网action=allow

复制这些命令,并在cmd中以ADMIN权限和您的ip地址和端口号运行它们。