我正在尝试为 C#/WPF 应用程序构建远程调试工作流程。
我按照此处的说明操作https://learn.microsoft.com/en-us/visualstudio/debugger/remote-debugging-csharp?view=vs-2022并且由于无法理解的原因,VS不会自动复制将编译的二进制文件发送到需要它们的远程计算机,必须手动完成。
因此,我尝试将任务附加到启动设置(可在
Properties\launchSettings.json
中找到)。
按照说明配置启动配置文件后,json 如下所示:
{
"profiles": {
"MyCoolApp": {
"commandName": "Project",
"remoteDebugEnabled": false,
"authenticationMode": "Windows",
"remoteDebugMachine": ""
},
"MyCoolAppRemote": {
"commandName": "Project",
"remoteDebugEnabled": true,
"authenticationMode": "Windows",
"remoteDebugMachine": "<remote-pc-name>:4026"
}
}
}
我可以在此处放置一个带有 robocopy 的脚本块来复制构建目录吗? 我可以以某种方式引用 .csproj 中当前的 launc 配置文件来定义 PostBuildTask 吗?
或者真的没有办法做到这一点,我每次都需要手动复制吗?
这对我有用(VS 17.11.4):
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition=" '$(ActiveDebugProfile)' == 'Remote' ">
<Exec Command="net use x: \\YourRemote\c$ /user:YourDomain\YourUser YourPassword /persistent:no" />
<Exec ContinueOnError="True" Command="robocopy $(TargetDir) $(TargetDir.Replace('C:', 'X:')) /S /NP" />
<Exec Command="net use x: /delete" />
</Target>
此处使用的启动配置文件是“远程”。