2010-07-12 71 views
1

我有> 443個項目爲應用程序構建和組裝。大約四分之一是WCF服務。我的新簡化構建腳本(遺留是dos批處理文件,.net應用程序,msbuild意大利麪編碼混合)失敗,因爲當運行目標_CopyWebApplication時web.config文件不存在。這個文件是本地開發人員測試項目的一部分,不需要發佈,因爲我們在其他地方有一個主web.config。MSBuild目標失敗,因爲_CopyWebApplication目標嘗試複製web.config

我正在使用MSBuild 3.5但4.0可能可用。

回答

2

如果你確實真的無法修改現有的構建目標,那麼你可以讓這個開發的web.config通過,或者反過來覆蓋它,或者忽略它依賴於部署過程?通過製作額外的構建目標來進行說明,該目標僅在需要清理的項目中調用?我很確定你可以在你的構建中找到幾個可以進行清理的地方。

或者你可以注入的目標早在循環到主web.config文件複製到你需要它 - 形態取決於你的實際情況 - 沒有universaly做到這一點最好的辦法。

如果你只是說「我不敢碰任何東西」,問題不會消失。您必須修改某些內容,方法是創建新目標以進行復制或清理,或者在構建之前/之後進行復制或清理。

您還可以創建_CopyWebApplication的3種變體 - 一種能夠像開箱即用的一樣,另一種除了嘗試複製文件(無人需要,一種是空的)外,但提供選擇。

+0

我已經回到這個問題,我似乎無法得到_CopyWebApplication正確覆蓋,任何提示? – Maslow 2010-09-21 22:19:36

1

倍率通過在項目的底部,

<Target Name="_CopyWebApplication" /> 

這個目標導入文件的目標始終是一個十惡不赦的疼痛,特別是如果你試圖指揮OUTDIR性能。這並不是那麼有價值。

+0

這爲> 450項目溶液,另外我不是在一個位置,決定了大小的架構的改變。我只能控制我的構建過程,我應該能夠創造出比我們更好的構建過程。 – Maslow 2010-07-27 15:39:40