2010-03-02 49 views
1

jist是在構建完成後,我想將所有已編譯文件從項目複製到另一個文件夾。我想我會在AfterBuild目標中使用複製任務。有沒有什麼辦法可以獲得這個目標中的構建文件列表,所以我確切地知道要複製哪些文件?在MSBuild中獲取AfterBuild中使用的已編譯dll/pdbs列表

感謝

更新:

閱讀下面我的評論,看看我想通了這一點。但是,這不是一個優雅的解決方案。我真正想要的是一個構建文件的ItemGroup。這是否存在?

+0

好吧,經過一段時間的顛簸之後,我發現了一些可行的東西,但它看起來並不很乾淨。有一個名爲FileWrites的項目組列出了所有寫入的文件。在排除時髦的緩存文件後,我得到了我想要的列表。這是我建立後的任務: <目標名稱= 「AfterBuild」> \t <複製SourceFiles =」 @(SourceFiles)「DestinationFolder =」.. \ .. \ .. \ Deploy \ IanPmServices \ bin「/> – Ely 2010-03-02 22:56:15

回答

1

構建過程做它需要的東西&寫它需要的東西。它並不知道你特別只對它所做的一個子集感興趣。

爲什麼你認爲FileWrites項目組不夠乾淨?

我們的構建過程輸出.dll & .pdb以及.config,.xml,.doc。我們使用基於FileWrites組的後構建複製操作,其中包括幾個客戶特定文件的一些條件操作。

編輯:

隨着我們即將推出的Silverlight項目,我們也可以處理的.xaml & .xap文件。

+0

FileWrites包含文件的多個副本,來自輸出路徑和obj目錄以及一個.cache文件,我不需要。它的工作原理,但我不得不擦洗數據一點點,以得到我真正想要的。似乎這應該只是可用的東西(它是在調用msbuild任務時)。我只是確認沒有任何可用的東西我還沒有找到。 – Ely 2010-03-03 17:13:36

+0

您是否可以使用提供列表的單個任務的輸出在任務結束而不是作業結束時執行復制? >> ...應該只是可用的東西... <<通用構建過程無法知道哪些文件對於特定任務是重要的。例如,我使用Exec任務來運行PowerBuilder應用程序編譯。沒有辦法知道輸出的.exe和.pbd文件是重要的,而且同時編寫的.bak&.pbl文件不是。這是由我來知道和腳本。 – DaveE 2010-03-03 17:45:10

相關問題