如何在 dotnet core 中编写跨平台构建后事件

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

我需要一些帮助来编写跨平台的构建后事件。我的 csproj 文件中的以下内容适用于 Windows,但不适用于 Unix。谢谢。

  <Target Name="PostBuild" AfterTargets="PostBuildEvent">
    <Exec Command="copy /Y &quot;$(TargetDir)bin\*.dll&quot; &quot;$(TargetDir)*.dll&quot;" />
  </Target>
c# .net-core csproj post-build-event
1个回答
5
投票

对于这种特定情况,使用 MSBuild Copy Task 可能更容易。

在您的 csproj 文件中:

    <ItemGroup>
        <MySourceFiles Include=$(TargetDir)\bin\*.dll"/>
    </ItemGroup>

    <Target Name="CopyFiles">
        <Copy
            SourceFiles="@(MySourceFiles)"
            DestinationFolder="$(TargetDir)"
        />
    </Target>

话虽这么说,Windows 会很乐意接受

/
作为路径分隔符,甚至将它们混合在同一个字符串中。

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