我試圖改進我們的構建過程,爲此我一直在關注複製本地並將整個解決方案構建到一個通用的\ bin目錄。使用CopyLocal管理VS2010引用= False
然而,什麼是不再複製引用到bin目錄的最佳做法?我不想在其中一個實際的實施項目中這樣做,因爲其中許多項目使用相同的引用組件,並且這意味着後期構建步驟的激增。
我知道我可以創建一個自定義的msbuild文件,但那需要在Visual Studio之外手動運行(我認爲)?這似乎是摩擦。有沒有一種方法可以創建一個msbuild項目,然後將其作爲我的解決方案的一部分。
還是最好只在我的解決方案構建之外進行管理,並且有一個copy_references.bat文件,dev需要運行一次才能設置其環境,使其進入/ bin/debug和/ bin/release目錄?這看起來有點脆弱,但是比直接檢查/ bin和將文件轉換爲svn好。
我有一個想法是創建一個空的c#組件項目,並添加引用到它,複製本地打開。如果這是所有其他項目的依賴項,它將管理複製。
下一個問題是如何用nuget引用來管理這個問題?我的首選是不檢查參考到svn,但告訴nuget抓住他們。因此,這也需要成爲構建步驟,但同樣需要解決方案層面的問題。
附加信息
對於有點爲什麼我正在評估這種方法更多的背景,看看這裏:
http://www.ndepend.com/Res%5CNDependWhiteBook_Assembly.pdf
的目標是通過停止大規模加快編譯時間所有這些冗餘副本。如果它有效,也可以不需要手動解決時間依賴性評估不起作用。導致必須將引用程序集的依賴項拉入頂級項目,以確保它們最終位於bin文件夾中。
我想在某些方面關閉複製本地的願望是ms構建過程在追蹤依賴性和評估需要複製事件時效率低下的人爲因素。
你*不*改進構建過程。 –
因爲我不知道你指的是哪一方面,所以你需要在這裏增加任何值。你是複製本地粉絲嗎? – DanH
同意@Hans,表面聽起來很糟糕......您試圖通過鞏固所有項目輸出的實現細節來滿足什麼[非]功能要求? –