是否可以设置 Visual Studio 2017,使其在远程 Linux 机器而不是本地机器上运行和调试 .NET Core C# 应用程序?

Posted

技术标签:

【中文标题】是否可以设置 Visual Studio 2017,使其在远程 Linux 机器而不是本地机器上运行和调试 .NET Core C# 应用程序?【英文标题】:Is it possible to setup Visual Studio 2017 such that it runs and debugs a .NET Core C# application on remote Linux machine instead of local machine? 【发布时间】:2020-01-19 06:07:36 【问题描述】:

我的场景是我在 Windows 上运行 Visual Studio 2017,所有源都本地存储在同一台 Windows 机器上,我希望将该代码发送到远程 Linux 机器,在那里编译、运行并在那里远程调试.

通过正确的配置,我可以创建一个 CMake C++ 项目,并立即在远程 Linux 机器上运行和远程调试它。对于带有 C# 代码的 .NET Core 项目,我可以使用相同的方法吗?

我找到了this question,这意味着我可以运行dotnet publish,然后也可以使用“附加到处理”,但这看起来并不简单,因为只需选择一个启动项并在 CMake 项目中单击“播放” .

在远程 Linux 机器上远程启动和调试我的 C# 代码的体验是否与在 Visual Studio 2017 中的 CMake C++ 项目中工作的体验相同?

【问题讨论】:

【参考方案1】:

我的 C# 远程启动和调试能有同样的体验吗 远程 Linux 机器上的代码,因为它适用于 CMake C++ 项目 在 Visual Studio 2017 中?

恐怕答案是否定的。目前,.net coreLinux 中的远程调试体验与 C++ 的远程调试体验完全不同。在 Linux 中为 .net 核心项目配置远程调试时会稍微复杂一些。

您不能像在 CMake C++ 项目中那样简单地选择启动项并单击“播放”。

Linux中启动.net核心应用程序后,您确实需要在VS中配置Attach to Process。(dotnet publish命令不是必需的,您可以使用发布 VS 中的选项,然后将输出的发布目录复制到Linux Test VM 上具有执行权限的目录)

假设您上面提到的.net core表示asp.net core,请查看Debugging ASP Core on Linux with Visual Studio 2017了解有关如何配置环境的更多详细信息以开始使用。希望对你有帮助:)

【讨论】:

以上是关于是否可以设置 Visual Studio 2017,使其在远程 Linux 机器而不是本地机器上运行和调试 .NET Core C# 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

在Xamarin+Prism开发详解三:Visual studio 2017 RC初体验中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很

visual Studio 2017 扩展开发《绑定快捷键到菜单项》

如何在 Visual Studio 2017、C++、CMake 中使用数据断点?

Visual Studio 2017 设置透明背景图

Visual studio 2017,每次安装到90%多就停了,卡了。都已经几次了,求大神解答

Visual Studio 2017