2011-09-24 35 views
1

的MSBuild可以提供项目产出的列表,如果你低于我可以在Rake/Albacore脚本中获得MSBuild任务的TargetOutputs吗?

<MSBuild Projects="YourSln.sln"> 
     <Output ItemName="YourProjectOutputs" TaskParameter="TargetOutputs"/> 
    </MSBuild> 

我可以得到耙/长鳍金枪鱼该列表定义像Output元素?

+0

你可以提供一个可用的'.targets'文件或完整的命令行表示形式,以便我可以看到使用此任务获得的输出吗? –

回答

1

我找不到任何方法在命令行上为MSBuild提供Output参数,除非通过.csproj.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输出或后构建复制事件或内容或其他。这是缺点。

相关问题