我需要一些帮助来编写跨平台的构建后事件。我的 csproj 文件中的以下内容适用于 Windows,但不适用于 Unix。谢谢。
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="copy /Y "$(TargetDir)bin\*.dll" "$(TargetDir)*.dll"" />
</Target>
对于这种特定情况,使用 MSBuild Copy Task 可能更容易。
在您的 csproj 文件中:
<ItemGroup>
<MySourceFiles Include=$(TargetDir)\bin\*.dll"/>
</ItemGroup>
<Target Name="CopyFiles">
<Copy
SourceFiles="@(MySourceFiles)"
DestinationFolder="$(TargetDir)"
/>
</Target>
话虽这么说,Windows 会很乐意接受
/
作为路径分隔符,甚至将它们混合在同一个字符串中。