在其他计算机上进行Visual Studio远程上传和调试

3
有没有一种方法可以远程上传、运行和调试另一台计算机上的应用程序?
我知道你可以将Visual Studio远程调试器附加到在远程计算机上运行的应用程序,但我正在寻找一种完全自动化的方法。
我正在构建一个家庭自动化系统,如果我能得到某种插件,让我可以在VS中按F5,然后应用程序就像平常一样构建并发送到我的服务器PC上,并在那里运行(附带远程调试),那就太好了。
问题是我的笔记本电脑不具备我服务器PC所拥有的所有硬件。我可以手动将其连接到我的笔记本电脑上,但说实话,这将会变得单调乏味,尤其是重复几次之后...此外,串行端口名称和其他一些硬件相关的东西在两台计算机之间是不同的。因此,我必须为每个系统配置不同的设置。
最后,也是最重要的一点哈哈:我想在床上躺着编程,或者坐在客厅吃披萨,同时调试我的家庭自动化。现在,我被3根USB电缆,一根音频电缆和一根HDMI电缆束缚在桌子前,这有点糟糕。
远程调试已经存在...至少存在已上传文件10年之久...我们以前也有运行其他程序的程序...请告诉我有人已经发明了这个系统!
顺便说一句,我愿意通过Teamviewer与应用程序互动。我只是不想经历“F5 -> Teamviewer ->在本地PC上做一些事情 -> 在远程PC上做一些事情 ->测试软件 ->查找错误 ->重复”这个流程。
如果我能够登录并且程序已经在运行,那就太好了。此外,如果我可以使STOP按钮停止远程PC上的软件,那将是极好的,我甚至可能会考虑向让这成为可能的人发送一箱装满啤酒的礼物哈哈。
1个回答

3
我不知道是否存在这样的产品,但是有很多事情可以让乏味的任务变得更加容易。

1)将启动操作从“启动项目”更改为“启动外部程序”

enter image description here

run_remote_process.bat中,您需要添加以下脚本:
a) 将二进制文件复制到远程/服务器PC
b) 使用remcom在远程计算机上启动进程
现在是编码部分:将以下内容添加到您的主入口方法中:
public static void Main(string[] args)
{
    if(args.Any(arg=>arg=="debug"))
    {
        while (!Debugger.IsAttached)
        {
            Thread.Sleep(100);
        }
        Debugger.Break(); 
    }
}

请确保在启动进程时传递debug参数。这将使您的进程挂起,直到您附加到它为止。
现在,您只需要使用Visual Studio附加到进程即可。您可以使用快捷键快速完成此操作: Alt-D,P(按Enter键),然后按进程名称的首字母滚动到它(Enter键)
然后就可以开始了!
虽不是理想的方法,但比许多手动步骤要好得多。

谢谢!我想我会做一些服务器/客户端,可以执行任务,然后按照您的描述运行它。这有点奇怪,它不存在...可以想象很多场景,开发人员可以在实际目标机器上完成整个“代码->运行->调试->重复”周期,从他们自己的开发机器上。 - Henrik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接