MSBuild 依赖项未生成

MSBuild dependency is not build

本文关键字:未生 依赖 MSBuild      更新时间:2023-10-16

我有以下目标:

<Target Name="Build" DependsOnTargets="Build_Shared" />
<Target Name="Build_Shared" DependsOnTargets="Build_Shared_x86;Build_Shared_x64"/>
<Target Name="Build_Shared_x86" DependsOnTargets="SetPlatform_x86;Shared_1;..." />
<Target Name="Build_Shared_x64" DependsOnTargets="SetPlatform_x64;Shared_1;..." />

问题是Shared_1依赖项未在 x64 目标中构建。我猜MSBuild认为由于x86目标,它已经构建了。我不想为所有共享组件创建不同的 x86/x64 目标。我有需要 x86 和 x64 来构建的应用程序(取决于Build_Shared(,所以我需要这样的依赖项。

请注意,每个目标在构建过程中只执行一次。如果根据Shared_1目标有多个目标,则Shared_1将仅运行一次,并且在遇到第二个DependsOnTargets="..;Shared_1;.."时将被视为已运行。

如果需要多次运行同一目标,则需要使用嵌套的 msbuild 命令:

<Target Name="Build_Shared">
    <MSBuild Projects="$(MSBuildProjectFile)" Targets="Shard_1" Properties="Platform=x86" />
    <MSBuild Projects="$(MSBuildProjectFile)" Targets="Shard_1" Properties="Platform=x64" />
</Target>

如果需要,您也可以使用Targets="SetPlatform_x86;Shared_1;.."