我需要为以下分层项目结构在每个“ ProjectReferences”上调用目标。
项目A->项目B->项目C
每个项目都有一个名为“ customTarget”的目标。如何定义配置,以便当我在项目“ A”上调用“ customTarget”时,在项目“ B”上触发“ customTarget”,而在“ C”上间接触发目标? 预期目标顺序:C-> B-> A。
问题:我该如何配置以上内容,并使其对所有项目参考通用。
[更新]
我能够使用
<MSBUILD Projects="@(ProjectReference)" Targets="customTarget" />
但这需要我在项目链中的每个项目中添加目标规范,即使它没有做任何事情。
可以解决上述问题吗?
答案 0 :(得分:0)
您可以将扩展目标放置在Directory.Build.props
文件中:
<Project>
<Target Name="customTarget" DependsOnTargets="PrepareProjectReferences">
<MSBUILD Projects="@(ProjectReferenceWithConfiguration)"
Targets="customTarget"
SkipNonexistentTargets="true" />
</Target>
</Project>
在VS 2017 / MSBuild 15和更高版本中,它将自动导入到文件夹层次结构下面的所有项目文件中。