从 Visual Studio 2017 连接到适用于 Linux 的 Windows 子系统

5 windows ssh ubuntu windows-subsystem-for-linux visual-studio-2017

我希望从 VS2017 调试 Linux C++ 控制台应用程序,如以下教程所示:

使用适用于 Linux 的 Windows 子系统从 Visual Studio 编写和调试 Linux C 应用程序

从 Visual Studio 将 Windows 子系统定位为 Linux

我已在 WSL Ubuntu 16.04 安装中安装了 gdbserver 和 openssh-server,并且sshd正在运行,但无法从 VS2017 连接。当我尝试时,我收到错误'Connectivity Failure. Please make sure the host name and port number are correct'

Visual Studio 2017 连接到 Linux

就我而言,主机名和端口号都是正确的。我知道 WSL 仍然是测试版,所以我假设问题与 WSL 有关(我最近安装了 Windows 10 Creators Update,因此它至少是最新的,但我希望ssh与 CU 一起工作)。我使用的是 Windows 10 版本 1703,内部版本 15063.250。

更新 我让 Visual Studio 连接到我的 Ubuntu VM,这证明它可以工作,问题肯定出在 Windows 上的 Bash 上。传入连接不起作用,但传出连接按预期工作。

VS 连接管理器对话框

还有其他人在以这种方式从 Visual Studio 2017 连接到 WSL 时遇到问题吗?

Har*_*ton 1

是的,看起来这个问题已经在这里这里报告过。

根据最近对后一个线程的评论,该问题已在 Windows Insider build 16199 中得到解决。根据您的情况,这可能是您的一个选择,直到修复程序合并到发行版本中。

如果您处于生产环境,我建议继续使用VM。我个人在 Windows Insider 构建方面并没有遇到太多麻烦,但总是存在一些风险。