为什么MSBuild任务不构建项目依赖项?

时间:2016-04-25 14:07:20

标签: visual-studio-2013 msbuild msbuild-task

我有Visual Studio 2013解决方案,它有很多C#项目。 有一项要求说项目B必须在项目(A)构建完成后构建。

项目A不依赖于项目B.项目B依赖于项目A,C和其他项目。所有依赖项都定义为项目引用。

我在项目A中添加了以下目标:

<Target Name="MyAfterBuildStep" AfterTargets="AfterBuild">
  <MSBuild Projects="$(Bproject)" Properties="Configuration=$(ConfigurationName);Platform=$(PlatformName);SolutionDir=$(SolutionDir);BuildProjectReferences=true"/>
</Target>

它启动但它不构建$(Bproject)的依赖项。

有人可以帮助我理解为什么没有构建依赖项,我应该怎么做才能构建它们?

1 个答案:

答案 0 :(得分:0)

如果两个项目都采用相同的解决方案,请将B项目构建为$(SolutionPath)的目标,例如:

<MSBuild Projects="$(SolutionPath)" Targets="Tests\Bproject" Properties="Configuration=$(ConfigurationName);Platform=$(PlatformName);SolutionDir=$(SolutionDir);BuildProjectReferences=true"/>

目标名称应反映项目名称,包括解决方案文件夹。