ConfuserEx.exe 在 pre/ post 构建中在 VS 中执行异步

ConfuserEx.exe in pre/ post build executing asynchronous in VS

我有一个正在生成 .msi 的安装程序项目。在预构建事件中,我正在调用 Confuser.CLI.exe 来混淆代码,但是 exe 正在异步工作并且花费了太多时间,并且编译器在 exe 之前完成,所以我有 .msi 与旧的 DLLs 然后当生成 .msi 时,新的 DLLs 覆盖旧的。我什至尝试了 post-build 事件,但我得到了相同的结果。

在安装程序项目中 - .wixproj,我放置了 2 个将执行不同命令的目标:

  <Target Name="ConfuserExScript" AfterTargets="CopyReferencedProjects">
    <Exec Command="Powershell.exe -executionpolicy remotesigned -File &quot;$(SolutionDir)Installers\Scripts\Build\PostBuild_RunConfuserEx.ps1&quot; &quot;$(SolutionDir)\&quot;" />
  </Target>

  <Target Condition=" '$(ConfigurationName)' == 'ReleaseDC' " Name="Obfuscator" AfterTargets="ConfuserExScript">
    <Exec Command="$(SolutionDir)Installers\ConfuserEx\Confuser.CLI.exe $(ProjectDir)ConfuserOutput.crproj" />
  </Target>

第一个是收集 DLL 并为 ConfuserEx 创建 crproj 文件,第二个是 运行 Confuser.CLI.exe 和混淆代码。 重要的是我使用 afterTargets 所以第二行在第一行完成后执行。