是否可以设置 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 core
在 Linux 中的远程调试体验与 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 中使用数据断点?