2012-10-21 73 views
7

我有2個不同的應用程序在tfs源代碼控制中設置。兩者共享一個共同的庫,也設置在源代碼管理中。如何處理TFS和共享DLL中的通用庫

對公共庫進行更改的當前進程是構建它,將其複製到某個位置以供其他應用程序引入並處理。這是手動的,並且不太好,特別是現在我正在轉向TFS CI構建。

佈局像這樣的TFS:

-TFS 
    - Web 1 
     | Main 
     | RB_1_0 
    - Web 2 
     | Main 
     | RB_1_0 
    - Shared 
     | Main 
     | RB_1_0 
     | RB_2_0 
     | RB_3_0 

因此,我希望改變這一點,自動化。但不知道我該如何做到這一點。正如你可以看到有多個分支機構等。作爲一個共同的圖書館,我正在考慮建立像我使用nuget軟件包,其中變化被推送到我的網絡1和/或網絡2.我不知道它是多麼容易設置它。

將有可能審查上述結構,並提供意見的最佳方式來管理輸出的DLL的分佈從共同?在CI環境中? Nuget是最好的選擇嗎?

回答

9

NuGet就是我用的。

修改構建過程中創造了共同的一攬子

新包的活動添加到build a nuget package,而另一個將其複製到你作爲一個資源庫的NuGet使用網絡共享。有一些像Tfs NuGetter這樣的項目可以用來代替手動編輯構建模板。

如果你不想修改你的構建模板,那麼你可以使用像[tfs deployer]這樣的工具,並編寫一個自定義的部署腳本來創建NuGet包。或者編寫一些鉤入構建完成事件的東西。

啓用所有的解決方案

這意味着你不需要的包存儲在源代碼控制,或處理,當你獲得最新的解決方案包不下載還原上構建軟件包。

當你想更新依賴項的版本打開解決方案,並像任何正常的NuGet包一樣更新它。