簡體   English   中英

如何管理SVN / Visual Studio中的引用?

[英]How manage references in SVN/Visual Studio?

很長一段時間尋找管理參考文獻的方法,我沒有找到任何理想的方法。

主要問題是:

1-)我是否應該包括我在同一個解決方案中使用的所有項目並參考項目? 或者只引用dll文件?

2-)如果我應該引用dll文件,最好的方法是在每個項目中創建一個ReferencedAssemblies,或者在svn root中創建一個主文件夾?

3-)它的ok粘貼和引用dll在我的項目的bin文件夾中?

4-)它可以在我項目的bin文件夾中添加並提交dll嗎? 這種方式當一個新的devoloper簽出項目時,它將編譯完美,但不是visual studio的默認行為,所有源代碼控件默認忽略bin和obj,只添加.refresh文件(用於web站點項目)

有人可以幫幫我嗎?

1)如果在解決方案中包含已在其他位置檢查過的項目,則可以在Visual Studio中的解決方案級別更改該項目的SVN綁定。 (文件>源代碼管理>更改源代碼管理)。 您可以將其更改為指向SVN倉庫中的任何位置。

2)如果你在不同機器上有很多開發人員想要使用相同的庫,那么為所有第三方庫/程序集創建一個共同的位置可能更容易。 將它們復制到SVN存儲庫中的所有位置是沒有意義的。

3)不,通常不會這樣做。 我會避免它(除非有人有正當理由)。

4)永遠不要提交bin文件夾。 出於某種原因,默認行為是這樣的。 .refresh文件是舊網站項目的副產品,它們很好。

1)在典型的場景中,您應該引用您擁有的所有項目。 但是你應該根據參考項目的變化頻率做出決定。 例如,如果您有一個開源庫,最好將其作為程序集包含,因為您可能不會經常更改此代碼。

2)典型的方法是在SVN根目錄下創建單獨的單個目錄,並根據程序集類型將程序集放在不同的子文件夾中。 這是我當前文件夾的樣子: 替代文字

3)不,最好從bin文件夾中引用其他一些程序集。 在構建過程中,所有引用的程序集都將復制到bin中。 另請注意,bin文件夾中* .refresh文件的目的是防止您自己復制新版本。

4)不,你永遠不應該提交你的bin文件夾,因為你可以依賴於Web站點的* .refresh文件而忘記其他項目類型的這個問題。

1)我認為這取決於您的具體情況,特別是因為Visual Studio對解決方案中包含的項目非常靈活。 (它與目錄結構無關。)

我們有幾個應用程序有一個解決方案,其中包含許多項目(對於每個'件')。

2,3,4)為了引用和包含項目中的文件,為什么不使用Visual Studio內置的功能? 以這種方式添加引用會將項添加到csproj(vbproj)文件中。

(根據我的研究,如果你沒有引用一個項目作為解決方案的一部分,請將DLL放在一個目錄中,團隊中的每個人都可以訪問並在添加引用時使用它。在項目文件中它最終看起來像這樣:

<Reference Include="Elmah">
    <HintPath>\\pathInformation\shared assemblies\ELMAH 1.1 32-bit\Elmah.dll</HintPath>
</Reference>

這也意味着您不必提交DLL; 如果有任何變化,項目文件將相應更新。

(我承認,我不確定最后一點。我看過很多人檢查外部庫,比如ELMAH。我通常會跟那些告訴你完全忽略bin目錄的人。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM