我可以在Rake / Albacore脚本中获取MSBuild任务的TargetOutputs吗?

时间:2011-09-24 11:47:51

标签: msbuild rake albacore

如果您定义Output元素,如下面的

,MSBuild可以提供项目输出列表
  <MSBuild Projects="YourSln.sln">
      <Output ItemName="YourProjectOutputs" TaskParameter="TargetOutputs"/>
  </MSBuild>

我可以使用Rake / Albacore获取该列表吗?

1 个答案:

答案 0 :(得分:1)

除了通过Output.csproj文件外,我找不到在命令行上向MSBuild提供.target参数的任何方法。所以,我不认为我们可以通过在Albacore msbuild任务中引入更多功能来解决这个问题(它只是在shell中调用msbuild)。

您仍然可以使用常规Ruby / Rake获取项目/解决方案输出列表。它并不完美,但从单个msbuild OutputPath

开始
msbuild :msbuild do |msb|
  msb.solution = 'YourSln.sln'
  msb.properties :configuration => :Debug, :outputpath => './bin/Debug'
  msb.targets = [ :Clean, :Build ]
end

定义一个FileList,它接收该目录(和子目录)中的所有项目

msbuild_output = FileList['./bin/Debug/**/*']

您可以只定义.exe.dll个文件,但您不知道它们实际上是msbuild输出还是构建后复制事件或内容或其他内容。这是缺点。