visual-studio - Visual Studio 将 Windows ASP.NET Core 安装到 Docker Linux 容器中?
问题描述
我正在 Visual Studio 中对 Linux docker 容器下运行的许多微服务进行 F5 调试。我知道容器是 Linux 因为
- Docker for Windows在其菜单上显示Switch to Windows Containers
docker container inspect
针对我的容器显示"Platform": "linux"
。
没有任何明显的更改docker-compose
或dockerfile
文件,它“感觉”就像 ASP.NET 核心认为它在 Windows 环境中运行。似乎是 Visual Studio 造成了这种情况。
我得到很多
- PlatformNotSupportedException
- 不支持异常
- DirectoryNotFoundException
- DllNotFoundException
- 找不到或打开 PDB 文件
- realpath():无效参数
和
您只能将 Microsoft .NET Core 调试器 (vsdbg) 与 Visual Studio Code、Visual Studio 或 Visual Studio for Mac 软件一起使用,以帮助您开发和测试您的应用程序。
这似乎毫无征兆地开始了。我已经尝试了以下所有方法:
- 重启泊坞窗
- 重启
- 卸载/重新安装docker
- 使用旧版本的代码库
似乎没有任何效果。
一些微服务似乎可以正常工作,只是速度较慢,因为到处都会抛出异常。不过,可能只是他们没有进行特定于平台的调用。
docker version
节目
Client: Docker Engine - Community
Version: 18.09.1
API version: 1.39
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:34:26 2019
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.1
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:41:49 2019
OS/Arch: linux/amd64
Experimental: false
有没有人遇到过这个?有谁知道修复?
解决方案
通过 Visual Studio 安装程序中的修复选项修复 Visual Studio 修复了该问题。
不幸的是,我不知道根本原因是什么。
推荐阅读
- javascript - 这个带有可变引用参数的 JavaScript 函数是纯函数吗?
- javascript - ReferenceError:变量未在 if 语句后定义
- postgresql - Postgres CHAR 检查约束未正确评估
- pytorch - 如何在 Pytorch 的神经网络中实现一个时代相关参数?
- python - 我用 Python 做了一个语音助手。当我在同一个句子中使用两个不同的语音命令时,如何只执行一个?
- function - (->) 的 Profunctor 实例定义 dimap 和 lmap/rmap 有什么原因吗?
- python - 检查是否可以使用 Spotipy 播放歌曲
- swift - UILabel 值不会根据 pickerView 选择而改变
- css - 如何在浏览器扩展中注入带有用户来源的 CSS?
- javascript - Swift 5 - 如何将 LONGBLOB/Buffer 转换为数据