如何在构建项目引用后在MSBuild中执行目标?

时间:2018-05-17 13:29:15

标签: c# visual-studio msbuild

说我有一个项目取决于另一个:

<?xml version="1.0" encoding="utf-8"?>
<Project ...>
  ...
  <ItemGroup>
    <ProjectReference Include="p1.csproj">
      <Project>{456a45c3-764a-4a7c-8ad4-d83d61cc89bb}</Project>
      <Name>P1</Name>
    </ProjectReference>
  </ItemGroup>

  <Target Name="RunAfterBuildingProjRefs" AfterTargets="???">
    ...
  </Target>
</Project>

为确保在构建所有项目引用(RunAfterBuildingProjRefs)后执行目标p1,我应在其AfterTargets属性中指定哪个目标?

1 个答案:

答案 0 :(得分:3)

您可以使用AfterResolveReferences作为挂钩目标,在解析完所有引用后运行。这还包括COM和本机引用 - 如果您真的只想要项目引用,那么在ResolveProjectReferences之后挂钩也是一种选择。

有关项目到项目参考如何工作以及涉及哪些目标的详细信息,请参阅The ProjectReference Protocol