2014-01-23 63 views
3

我有許多項目和許多構建配置的Visual Studio 2010解決方案,以便使用Web.config轉換進行自動部署。VS2010 - 添加新項目不會繼承現有的構建配置

我的問題是,當一個新的項目被添加它不會繼承現有的配置,因此構建服務器上的構建失敗。

舉個例子,說我有以下的自定義生成配置:

  • 發展
  • QA
  • 生產

當一個新項目被添加,它僅包含標準調試和發佈配置,以及上述任何自定義配置。

我知道如何解決它的唯一方法是手動編輯.csproj文件。

處理這個問題的正確方法是什麼?

編輯我已刪除了爲什麼它在構建服務器失敗,因爲這是不相關的(和明顯)的信息,我只需要知道,如果有辦法讓現有的自定義生成配置自動拾取新項目被添加到解決方案中。

+1

這是一個簡單的教育問題。開發人員可能會使構建服務器的方式與構建項目的方式相比變得更糟,但這絕不是錯誤。不好的做法可能很難根除,確保每個人都可以看到構建中斷,包括老闆。 –

+1

我的問題與打破構建無關,我現在可以親自將項目添加到我的解決方案中,並且不包含解決方案中每個其他項目都具有的自定義構建配置。我知道將這些自定義構建配置添加到新項目的唯一方法是手動編輯.csproj文件,我想知道是否有解決方法。 – Terry

回答

0

在計算機上處​​理必須手動執行的操作的正確方法通常是自動執行此操作。沒有開玩笑。我們所有的項目文件(包括C#和C++)都會生成:它們會自動導入包含所有構建選項的正確屬性表,並且它們都具有相同的平臺/配置。把一個程序放在一起會花費相對較少的工作量,這將爲您節省更多的時間和精力。基本上,Microsoft.Build.Construction命名空間有你需要的一切。爲了使程序用戶友好,我們在頂部添加了一個小的UI,可以拖動要創建項目的目錄。所以我們只是運行它,創建一個目錄,將它拖到它上面,並將新項目添加到VS中的解決方案。

+1

雖然這可能有效,但我還是想知道是否有*開箱即用*自動解決方案而不是*自定義*自動解決方案。 – Terry

+0

當VS創建一個新項目時,它會使用一個模板,它並不關心解決方案中您剛纔打開的所有配置。 Afaik只是它的工作原理,沒有辦法讓它做出你想要的東西。所以唯一的另一個選擇,也是afaik,正在改變VS使用的默認項目文件模板。但是,你必須在每臺開發者機器上這樣做。而且每當你創建一個項目時,它都會從模板開始,所以你總會有一堆自定義的構建配置,這看起來似乎是不需要的。 – stijn

相關問題