2010-07-19 187 views
4

我在管理Visual Studio中的項目中的.dll引用時遇到問題。所有註冊的.NET和COM引用都可以正常工作,但是當涉及到磁盤上的.dll文件時,如果我在磁盤上引用了我的文件,我的同事將缺少引用,因爲它們可能位於磁盤上的其他位置。 Visual Studio有一個像$ PATH或類似的環境變量,以便每臺計算機都有路徑,它會先查找,然後說它找不到引用?或者將源代碼管理中的.dll引用保留爲更好的選項?使用Visual Studio管理源代碼管理中的引用

好的,它的工作完美。在VS中,我只是向解決方案添加了一個文件夾,將dll添加到文件夾並將所有內容添加到源代碼管理。我在個別項目中提到了這些DLL,當我從其他計算機上獲得最新版本時,它會正確鏈接。謝謝你們

回答

5

這個工作對我來說,無論是在顛覆和VSS。

\root 
    \trunk 
     foobar.sln (solution file goes here) 
     \References 
      foo.dll (3rd party, ie. you don't compile this) 
      bar.dll 
      (Don't put dll's for Project 1 here, Visual Studio will take care of it) 
     \Project1 
      .proj file goes here 
       \bin (don't put dll's here!) 
     \Project2 (This might reference Project1 

請勿將dll放入\ bin,因爲像VSS這樣的存儲庫使它們只讀,這會中斷清理並重新構建。

Visual Studio不理解解決方案級別以上的依賴關係,因此如果您有依賴解決方案的解決方案,則必須在您的構建腳本/構建服務器中顯示該解決方案。

3

我喜歡在解決方案中添加一個解決方案文件夾,然後我將所有外部DLL放入其中。然後,我參考該文件,而不是PC上的特定文件夾。

所以是的,他們是在源,但爲什麼不。特別是在管理更新時。

適用於我。

1

一般的經驗法則:把源代碼管理中的DLL和儘可能通過增加項目文件,而不是DLL引用

2

創建包含您需要的任何引用的程序源代碼管理「引用」文件夾中。如果源可用於這些程序集,請將其存儲。

我認爲包含所有程序集並不是OS或.NET框架的一部分是一種很好的做法。例如,當開始安裝新的開發人員(在新計算機上或重新安裝操作系統)時,您不希望安裝Enterprise Library或任何其他程序集。

1

我有一個共同的文件夾在所有真正的第三方dll存儲源。在每個項目下,我有以下三個文件夾:

  • 3rdParty - 一個svn:外部鏈接到任何第三方dlls需要從公共集合。
  • 參考文獻 - svn:外部鏈接到任何內部構建項目的「Assemblies」文件夾。
  • 組件 - 這是項目的構建輸出將去的地方。通過這種方式,可能需要引用程序集的其他項目只有一個地方可供項目使用,並且使用svn:externals可以控制他們希望使用的版本。
\root 
    \Common.3rdParty (common third party dlls) 
    \Solution 
     \Project1 
      \3rdParty (svn:externals links to common third party dlls that are needed) 
      \Assemblies (Project's build output) 
      \References (svn:externals links to referenced project "Assemblies" folders) 
      \[Project's Folders...] 
     \Solution.sln 

More Info Here

0

如果您的.dll文件存在於源代碼控制,那麼所有你需要做的是正確的點擊從溶液的依賴和包文件夾(這是在源控制資源管理器),並獲得最新版本的它。

,你會發現你的.dll文件系統上的文件。

相關問題