與大多數人一樣,我們使用第三方庫。我們保留在VCS中的許多資源。如何引用不在同一根的項目
當前,如果這些庫已更新,我們需要手動提取源並重建二進制文件。
我試圖找到一種方法,而不是從使用它們的各種解決方案中引用它們,以便在您拉取相關項目時自動從源代碼管理中拉取它們,並在它們過期時自動生成。能夠使用提供的源代碼進行調試也是很好的。
我遇到的第一個問題是這些庫與依賴項目不在同一個解決方案根目錄中。例如。
\Libraries
\External
\Lib1
Lib1.sln
\Products
\Product1
Product1.sln
試圖添加Lib1.csproj
我Product1
的解決方案給我的警告:
,你正試圖添加到源代碼管理的項目可能會導致其他 源代碼控制用戶很難打開此解決方案或 獲得它的更新版本。爲避免此問題,請從解決方案中其他源受控項目的綁定根目錄(C:\ depot \ Products \ Products1) 以下的位置添加項目 。
如果我忽略這一點,那麼我可以正確設置構建依賴關係,但它仍然不允許一次拉動整個源代碼樹。
我想知道其他人如何設置第三方庫,特別是當有源代碼時。 (我們使用的是Perforce,但我想這個問題與任何VCS都有關)
我對Perforce並不熟悉,但我會做的是將所有第三方庫的源代碼放在VCS的一箇中心位置,然後將它們鏈接到需要使用類似[SVN的外部(http://svnbook.red-bean.com/en/1.7/svn.advanced.externals.html);您可以在實際結帳中的任何地方指定外部結賬地點。這樣,當您拉下項目/解決方案的源代碼時,第三方源代碼也會被拉下來,並且您可以像往常一樣對它們進行項目引用。 –