我正在考慮將大型代碼庫(主要是C++)從VSS遷移到SVN。作爲該練習的一部分,我希望將代碼分成更小的項目,以便他們可以單獨進行工作。最大的絆腳石是處理項目依賴項,其中一個項目需要來自其他項目的dll(和標題)。Visual Studio中靈活的項目引用
當前開發人員從VSS獲取所需的項目並在本地構建它們,項目文件假定所需的所有內容都已檢出並與之相關。這顯然是一場噩夢,尤其是當需要不同版本的東西時。
在過去的幾年中,我被maven所寵愛,而我過去的大規模C++已經在UNIX和Linux上。我已經研究過nuget之類的東西,但已經決定嘗試將解決方案放在只使用SVN和Visual Studio構建文件的位置。
我的首選解決方案是使用SVN外部提供項目所需的標題和二進制文件,並讓項目通過變量引用它們。這是非常直接的,我所遇到的問題是當它需要一個項目需要改變時,例如,圖書館的變化。
假設我有一個名爲Product1的項目,另一個名爲CommonLib1。我希望做的是通過一個默認的引用SVN外部提供文件的變量爲Product1引用CommonLib1提供項目文件。然後,當需要更改CommonLib1時,開發人員可以檢出該項目,將其加載到其工作區中,在Visual Studio中添加依賴項,並且該項目將定義將覆蓋Product1中設置的相同變量。
最近的我可以得到似乎是設置環境變量來覆蓋設置,但需要手動設置和VS重新啓動。我希望儘可能使事情變得自動化,以使生活更輕鬆,部分原因是缺乏經驗的開發人員/項目新人,還有現有的開發人員,以便他們能夠繼續工作並獲得更高的速度。