2011-08-09 55 views
1

在一個MSBuild腳本,我有以下幾點:MSBuild輸出TaskParameter可以使用哪些值?

<Target Name="CompileCode"> 
    <MSBuild Projects="$(SolutionPath)" Targets="Build" Properties="..."> 
     <Output TaskParameter="TargetOutputs" ItemName="Binaries" /> 
    </MSBuild> 
</Target> 

這一目標的輸出將是一個集合Binaries它包含了所有從我的項目的組件。我想包括所有程序集,包括我引用的外部庫(如NUnit或Castle.Core)。爲此,我想象一下,我應該爲TaskParameter設定另一個值 - 但哪一個?

我想知道的所有可用的選項這裏,不只是適用於我的特定情況下的 - 有在此生成腳本,可能是eaiser(甚至不再是不可能的)其他的事情,如果我知道我所有的選擇...

那麼,什麼我可以放在TaskParameter屬性?

回答

2

當使用<Output />目標輸出,爲TaskParameter屬性有效值將是<MSBuild />任務的任何readable parameter

在手你的問題的解決方案將是確保在解決方案中的項目指定複製所有引用的程序集,即CopyLocal設置爲true每一個引用的程序集要接收Binaries屬性(通過TargetOutputs)。

+0

CopyLocal對於缺少的二進制文件已經設置爲true ... –

+0

VS的哪個版本?也許嘗試在'true'和'false'之間切換以確保不會陷入[「CopyLocal Bug」](http://blogs.msdn.com/b/jjameson/archive/2009/11/18/the -copy本地蝽功能於視覺studio.aspx)。否則,它應該在TargetOutputs中包含引用的程序集。 – Filburt

+0

我正在使用VS2010,但構建腳本在運行TeamCity 6.0.3的CI服務器上運行。 –

相關問題