所有项目引用上的msbuild调用目标

所有项目引用上的msbuild调用目标,msbuild,Msbuild,我有一个要求,为下面的分层项目结构调用每个“ProjectReferences”的目标 项目A->项目B->项目C 每个项目都有一个名为“customTarget”的目标。如何定义配置,使我在项目“A”上调用“customTarget”时,它触发项目“B”上的“customTarget”,并间接触发“C”上的目标? 预期目标订单:C->B->A 问题:如何配置上述内容,并使其适用于所有项目引用 [更新] 我能够使用 <MSBUILD Projects="@(ProjectReference

我有一个要求,为下面的分层项目结构调用每个“ProjectReferences”的目标

项目A->项目B->项目C

每个项目都有一个名为“customTarget”的目标。如何定义配置,使我在项目“A”上调用“customTarget”时,它触发项目“B”上的“customTarget”,并间接触发“C”上的目标? 预期目标订单:C->B->A

问题:如何配置上述内容,并使其适用于所有项目引用

[更新]
我能够使用

<MSBUILD Projects="@(ProjectReference)" Targets="customTarget" />

但这需要我在项目链中的每个项目中添加目标规范,即使它没有做任何事情。

如果采用上述方法,是否有更好的解决方案?

您可以将扩展目标放在
目录中。Build.props
文件:

<Project>
  <Target Name="customTarget" DependsOnTargets="PrepareProjectReferences">
    <MSBUILD Projects="@(ProjectReferenceWithConfiguration)" 
             Targets="customTarget"
             SkipNonexistentTargets="true" />
  </Target>
</Project>

在VS 2017/MSBuild 15及更高版本中,它将自动导入文件夹层次结构下的所有项目文件中