无法连接到Web服务器'IIS Express'

8
我将我的启动设置更改为支持远程IP主机。
{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://192.168.1.69:55446/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "myapplication": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

它在我的系统中运行良好。

当我从另一个远程系统的TFS下载我的项目并更改IP地址以支持远程IP主机,然后以管理员模式运行应用程序,但仍显示"无法连接到Web服务器 'IIS Express'"

 {
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://192.168.1.79:55446/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "eBMSForumApplication": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

可能需要检查一个端口。如果它不空闲,就会出现错误。 - J. Doe
我不确定你的情况出了什么问题,但另一个解决方案可能是使用我们免费的 VS 扩展程序 Conveyor -> https://visualstudiogallery.msdn.microsoft.com/a429dbb7-a982-4541-b401-934375c02c0f?redir=0 它允许从其他计算机/设备连接到 IIS Express。 - Jim W says reinstate Monica
@raj,你找到原因了吗?我今天在这里问了一个类似的问题:https://stackoverflow.com/questions/56890385/create-binding-causes-unable-to-connect-to-web-server-iis-express。谢谢。 - w0051977
对我来说,这是一个端口问题。我在“applicationUrl launch settings.json”中更改了端口问题,然后它就可以工作了。 - Rahul Sharma
8个回答

16

如果在输出控制台中看到像这样的东西:

IIS Express starting...
iis express Failed to register URL "http://localhost:61367/" for site application "/". 
Error description: The process cannot access the file because it is being used by 
another process

这个错误是由于您使用的端口引起的。

打开控制台,并使用此命令检查使用的端口范围:

netsh interface ipv4 show excludedportrange protocol=tcp

它将看起来像这样:

enter image description here

更改您想要使用的端口号,该端口号应在那些范围之外。


5
这个问题类似于https://dev59.com/mOk5XIcBkEYKwwoY8ebo#67990888,可能与Hyper-v保留了一堆端口范围有关。
如果是这个问题,同样的答案适用(并且对我有效)。 以管理员身份运行:
net stop winnat
net start winnat

确保在命令托盘中退出IIS Express,然后运行上述命令。 - shammelburg

2
在我的情况下,我取消了项目属性中调试选项的“启用SSL”复选框,并运行了该项目。这会弹出一个iis窗口,显示端口被chrome占用。因此,我关闭了所有chrome实例,并再次切换到“启用SSL”,这解决了我的问题。

2

发生了同样的事情,但我不知道原因,我重启了IIS和VS,但没有起作用。然后我重启了电脑,问题就解决了。


1
在我的情况下,我在调试模式下修改了项目的url,之后它无法运行,我不得不重新启动我的Visual Studio才能让它正常工作。

0
我最近也遇到了这个问题(还有其他一些问题:如果Chrome已经打开,VS 2019无法在Chrome中打开Web应用程序项目),并发现我是以管理员模式运行VS。
我通过以普通模式运行VS和Chrome来解决这个问题。

0

我的项目版本是2.2 在此输入图片描述 我的电脑版本是5.0 (命令:dotnet --list-sdks) 在此输入图片描述

我已经将2.2版本安装到了我的电脑上。现在我可以运行这个应用程序了。


0
我尝试了所有建议的解决方案,但对我来说,唯一的解决办法是去证书存储中删除我的开发证书(本地主机),问题得到解决。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接