如果您像下面这样定义Output
元素,MSBuild可以提供项目输出列表
<MSBuild Projects="YourSln.sln">
<Output ItemName="YourProjectOutputs" TaskParameter="TargetOutputs"/>
</MSBuild>
我可以得到Rake/Albacore的列表吗?
我找不到任何方法在命令行上为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输出还是post-build复制事件或内容或其他任何内容。