无法 运行 在 IIS Express 上以前使用的端口上进行调试

Can't run debugging on previously used port on IIS Express

最近我决定将我的 ASP NET Core 解决方案移动到新的地方,显然,出了点问题。

launchSettings.json 文件中指定了:

"iisExpress": {
  "applicationUrl": "http://localhost:53985",
  "sslPort": 44325
}

当我将整个解决方案连同此文件一起移动时,出现连接重置错误(是的,这是针对 SSL)。

当我把它改成新的东西时,例如。 44330,成功了。

使用 netsh http show sslcert 我看到指定了 44330,但没有指定 44325。那为什么我不能重复使用它呢?

经常搬动很多项目后,我会运行从ports里拿出来用!有什么补救措施?

从评论中复制了更多细节。

如果 HTTP.sys 找不到绑定到该端口的有效证书,可以重置对 http://localhost:44325 的请求。由于您通过 netsh 确认确实缺少此类证书,因此我们知道了重置错误的确切原因。

IIS Express 安装程序为 44300-44399 创建了初始证书映射,因此 VS 始终假定端口 44325 具有关联的证书。但是,很难说出为什么现在缺少证书映射,因为任何东西都可以更改 HTTP.sys 设置。

解决办法是用netsh为端口44325重新创建证书映射(您可以参考其他证书映射以了解您需要的参数)。