这是除了使用
System.Diagnostics.Debugger.Launch();
以一种改进远程系统(如 VM)上的调试的方式。我对用于打包 .CA.dll 的 wix 目标文件进行了一些更改,结果很好。
在第一个创建项目的条件中,我添加了一个检查 %(ReferenceCopyLocalPaths.extension)' == '.pdb' 这样我的大部分依赖项 .pdb 现在都包含在我的 .CA.dll 中,并允许更轻松的调试体验远程系统。
C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix.ca.targets
<Target Name="PackCustomAction"
Inputs="@(IntermediateAssembly);@(Content);$(CustomActionContents)"
Outputs="$(IntermediateOutputPath)$(TargetCAFileName)">
<!-- Find all referenced items marked CopyLocal, but exclude non-binary files. -->
<CreateItem
Include="@(ReferenceCopyLocalPaths)"
Condition=" '%(ReferenceCopyLocalPaths.extension)' == '.pdb' or '%(ReferenceCopyLocalPaths.extension)' == '.dll' or '%(ReferenceCopyLocalPaths.extension)' == '.exe'">
<Output TaskParameter="Include" ItemName="CustomActionReferenceContents"/>
</CreateItem>