2011-08-17 64 views
1

我有一個自定義的MSBuild腳本(例如WpfResources.proj),其中我通過多個文件夾掃描* .resx文件和構建.NET衛星資源dll使用AL任務。此WpfResources.proj的輸出包含多個* .resources.dll在不同的文件夾下(對應於需要這些資源dll的不同項目)。TFS 2010 build不能處理在多個目錄中生成多個文件的自定義MSBuild腳本

示例輸出文件夾結構顯示如下:

WpfResources

Bin 
    Project1 
     zh-CN 
     Project1.resources.dll 
     es-ES 
     Project1.resources.dll 

...

Project2 
     zh-CN 
      Project2.resources.dll 
     es-ES 
      Project2.resources.dll 

...

這WpfResources.proj可建正確由MSBuild.exe。但是,如果我在TFS 2010版本中運行它(即創建一個構建定義並引用WpfResources.proj來構建),則無法將所有這些資源DLL複製到放置位置。實際上它沒有輸出任何東西,即使在實際的編譯PC上,輸出也沒有問題。

TFS 2010如何構建處理在多個文件夾下輸出多個文件的自定義MSBuild腳本?在我的WpfResources.proj中,Team build會將其視爲此MSBuild項目的輸出嗎?

回答

2

在構建系統上,TFS處理二進制輸出目錄並將其輸出複製到drop文件夾中有點特別。它爲所有輸出文件生成一箇中央輸出目錄。

我會想象你的MSBuild項目的輸出標準方式,就好像它在開發系統上一樣,輸出倉位在項目文件夾結構下。 TFS不會將它們複製到drop文件夾,因爲默認情況下,它僅複製它在中央輸出文件夾下生成的二進制文件。

對於我們的系統,我們解決了這個問題(也適用於構建VS安裝項目),但在構建模板中嵌入了手動複製操作,將MSBuild輸出複製到集中式bin輸出文件夾,放置文件夾位置。

要添加此類自定義操作,請參閱Ewald Hofman的精美TFS2010自定義博客:http://www.ewaldhofman.nl/post/2010/04/29/Customize-Team-Build-2010-e28093-Part-4-Create-your-own-activity.aspx

希望有所幫助。

+0

我們也採取了這種自定義複製行動。感謝您的確認和解釋。 – jhy

相關問題