2017-08-24 103 views
0

例如在asp.net mvc項目中,當我拉取存儲庫時,缺少一些引用。TFS和git,缺少引用

我必須再次手動添加。在小型項目中不是問題,但是在巨大的倉庫中,它會發生大問題和時間浪費。在git中也存在同樣的問題。我希望當我拉倉庫時,一切都應該清楚。

是否有關於這個問題的任何解決方案?

+0

Nuget恢復是不是拉他們? – Shyju

+0

我只是去源代碼控制面板。右鍵點擊項目,然後點擊「獲取最新版本,是不是意味着在包管理器控制檯中,我是否正在編寫pull命令? –

+0

假設引用是通過nuget添加的(將有一個packages.config文件),只需右鍵單擊解決方案並執行「還原nuget包」 – Shyju

回答

1

從一個「最佳做法」一點講,你的源代碼控制不應包含上你的項目依賴的庫。相反,它應包含獲取這些依賴項的說明(例如項目定義文件中的引用)。

這如何無縫協作依賴於你的工具。在Visual Studio開發環境中,通常使用NuGet,不幸的是,根據我的經驗,您必須實際告訴NuGet您希望您的參考已解決。 (相比之下,對於使用Maven依賴關係管理的項目 - 在Java中比在.Net更常見 - 依賴關係的解決方案是構建生命週期的默認部分;因此您可以檢出並構建。)

要全面實現最佳我提到的做法並不總是微不足道的。例如,您可能會發現您需要託管您自己的NuGet軟件包。在這方面有好處,但並非所有人都決定。

反正,雖然我不建議這樣做,爲了完整回答了一個問題,問,這裏是一個另類。看起來你最初正在談論Visual Studio,團隊資源管理器和TFVC。

它是可能嵌入引用庫中的源控制。通常,源代碼管理會忽略這些庫位於工作樹中的目錄,因此默認嘗試將所有內容添加到源代碼管理中。如果您導航到解決方案資源管理器中的特定庫,並且特別說要添加這些文件,則會提示您「文件被忽略;無論如何添加」(或類似的東西)。如果你說是,那就是這樣。

至於爲什麼這也會發生在git中......好吧,我假設你使用相同的工具(visual studio/team explorer)來解決git,並且我默認他們設置了相同的忽略規則。這是一個我不真正使用的工具組合,所以我不能說比這更明確的任何東西。

現在,我有一個NuGet和源代碼控制嵌入式庫的混合項目,我可以告訴你我會採取NuGet(即使有額外的一步告訴它我需要依賴關係解決)任何一天的周。

+0

感謝您提供有用的答案。最好忽略源代碼庫的源代碼管理。 –