启动配置文件的构建后事件/任务?

问题描述 投票:0回答:1

我正在尝试为 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 吗?

或者真的没有办法做到这一点,我每次都需要手动复制吗?

c# .net visual-studio remote-debugging
1个回答
0
投票

这对我有用(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>

此处使用的启动配置文件是“远程”。

© www.soinside.com 2019 - 2024. All rights reserved.