添加输出或从子项目传输数据到父项目

时间:2014-08-19 22:06:24

标签: msbuild msbuild-4.0

我在main.proj中使用msbuild来构建这样的项目:

 <MSBuild Projects="outs.proj" Targets="Build">
     <Output ItemName="CustomOutputs" TaskParameter="TargetOutputs"/>
</MSBuild>

在outs.proj里面我有一个自定义目标,我需要从这个目标添加一个输出来获取.dll,.pdb,...和.mycustomfiles

如何将子项目中的数据发送到父项目?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我建议您简单地Import依赖项目,但是您所描述的基本方案可以通过Target的{​​{1}}或Outputs以及相应的{{Returns来实现。 1}} Output虽然很少有警告,因为它是为增量构建设计的,而不是作为数据传输对象。

foo.build

TargetOutputs

bar.build

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="Foo1">
    <MSBuild Projects="bar.build">
      <Output TaskParameter="TargetOutputs" ItemName="Bar" />
    </MSBuild>
    <Message Text="%(Bar.Identity)" />
  </Target>

  <Import Project="bar.build" />
  <Target Name="Foo2" DependsOnTargets="Bar">
    <Message Text="%(Bar.Identity)" />
  </Target>
</Project>