2011-09-24 89 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輸出或後構建複製事件或內容或其他。這是缺點。

相關問題