2011-11-28 46 views
2

我們的解決方案已經包含了大量的項目,而且我們的MSBuild文件正在變成一個巨大的,不穩定的尖括號,變得如此之大以至於我開始害怕觸摸它。但是,我注意到我們的大部分項目分爲兩組。用MSBuild構建大量類似的項目

有一些Web項目,它們具有.csproj擴展名,並使用Web部署項目構建和部署,以便將它們轉儲到目錄中。還有一個配置轉換過程。基本上,要部署Web項目,只需要項目名稱,輸出目錄和配置轉換。

同樣,我們的服務應用程序數量將不斷增加,這些應用程序將位於TopShelf下。這些基本上是從.csproj文件構建的dll。像上面的網站一樣,他們進行配置轉換,但他們被複制到輸出目錄,而不是通過web部署步驟。

我想到,如果我可以簡單地爲MSBuild項目提供幾個文本文件(一個用於網頁,另一個用於服務),那麼MSBuild可以用來動態編譯所有的文本文件各種項目。我在想,如果我可以給它提供一個逗號分隔的項目列表,輸出位置和配置替換文件,那麼可能有一種方法可以讓msbuild讀取它們,對它們進行迭代,然後轉儲出它們的項目應該去。

但是,我的MSBuild-fu很弱。我怎麼才能開始呢?

+0

也許[我對一個類似問題的回答](http://stackoverflow.com/a/3071804/205233)可以給你一個良好的開端。基本上我的方法是將所有處理打包到核心MSBuild腳本中,並將所有項目特定信息打包成可在需要時導入的目標腳本。 – Filburt

+0

就你而言,你需要2個核心腳本(web +服務)。你可以從你當前的(單片)MSBuild腳本中添加一個樣本提取? – Filburt

回答

0

您可以從here開始,這是part 2。 對於配置文件,我使用XmlPreprocess tool進行配置文件操作。它在多個環境中使用一個映射文件。您可以通過Excel編輯映射文件。這是非常容易使用。

相關問題