当 dll 从远程 VSCode 的调试器启动时,我无法从主机访问容器化的 .NET 服务。
我可以访问服务
- 使用 dotnet 命令手动运行 dll 时从主机
- 手动运行 dll 或使用 VSCode 调试器时从容器(使用 curl)
示例存储库:https ://github.com/matrumz/stackoverflow-devcontainers-ports-debug
手动运行时可以从主机访问
使用 VSCode 调试器启动时的结果
当 dll 从远程 VSCode 的调试器启动时,我无法从主机访问容器化的 .NET 服务。
我可以访问服务
示例存储库:https ://github.com/matrumz/stackoverflow-devcontainers-ports-debug
手动运行时可以从主机访问
使用 VSCode 调试器启动时的结果
使用dotnet
命令启动程序时,应用程序会侦听http://[::]:80
,但调试器会侦听http://localhost:5000
。
上帝知道我这样做会破坏什么,但正在改变
"stackoverflow_devcontainers_ports_debug": {
...
"applicationUrl": "https://localhost:5001;http://localhost:5000",
...
}
到
"stackoverflow_devcontainers_ports_debug": {
...
"applicationUrl": "https://localhost:5001;http://0.0.0.0:5000",
...
}
解决了这个问题(现在只在 HTTP 上工作)。
如果有人想教育我为什么这有效,我全神贯注。在那之前:我将继续通过复制已经有效的东西来解决问题!