簡體   English   中英

正確設置Visual Studio和SVN

[英]Proper setup for visual studio and SVN

我想設置一個項目,並可能將現有項目設置為受SVN版本控制。 我正在為svn服務器使用uberSVN。 我已經為Visual Studio安裝了AnkhSVN。

目前,我與之合作的團隊正在使用視覺資源安全,而我們遇到的問題之一是,當有人添加對DLL的引用時,它會按您期望的那樣修改項目文件,但不同團隊成員之間的路徑是不同的( XP盒子(7個,您明白了)。 我想要的是在簽入/簽出時忽略項目文件,以便我們不會弄亂其他人的引用。

有沒有辦法讓SVN忽略插件中的這些文件? 這樣做的副作用之一是,人們不會知道是否在項目中添加了新文件,因為這會修改項目文件。 除了告訴所有人“嘿,您需要手動將此文件添加到您的項目中”之外,還有沒有更干凈的方法?

如果在鏈接之前將DLL復制到VS解決方案文件夾內的文件夾中,我認為項目鏈接將是相對的而不是絕對的。 因此,您可以將DLL和更新的VS項目檢入配置管理中,並且每個人都應該可以共享它。

您應該開始使用虛擬路徑進行開發工作。 這樣,每個團隊成員都可以將與工作相關的文件保留在虛擬路徑以外的任何物理位置(工具看到的路徑始終相同)。

例如,我的團隊在Q:\\下完成所有工作。 我的物理工作源在物理路徑C:\\Work\\<project_name>下,其中project_name部分取決於項目。 當我要處理給定的項目時,我使用以下命令將Q:\\虛擬路徑映射到正確的物理路徑

subst q: c:\work\project_name

當我需要切換時,我運行類似的命令。 這樣,無需擔心不同計算機上的不同路徑。 這對於整個團隊來說效果很好,並且消除了您上面描述的大多數問題。 您唯一需要確保的是,在處理與項目相關的文件時,每個人始終使用虛擬路徑(Q :),而不是物理路徑。 對於我的團隊來說,花了大約一周的時間來適應這個習慣,之后再沒有其他問題了。

項目文件是項目的重要組成部分,因此在源代碼控制工具中忽略它最終會導致問題。 我建議您不要這樣做(即使可以)。

編輯 :如果您在不同計算機上的不同物理文件夾中有DLL,則最好的選擇是將這些DLL(及其依賴項)復制到已知位置。 只要編譯器找到它們,就不能從那里運行它們是很好的。

該已知位置可能在您的虛擬路徑或公共物理路徑內(如果多個項目需要相同的DLL,則在此位置)。 您可以使用Dependency Walker來確定本機DLL和NET DLL的Reflector所需的依賴性。

如果DLL-s的大小/數量太大而無法創建副本,則實際上可以告訴AnkhSVN在提交更改時忽略某些版本文件。 右鍵單擊文件,選擇“ Subversion”>“移至更改列表”>“提交時忽略”。 此后,該文件將顯示在未選中的提交對話框中,但是如果您手動選擇它,仍然可以提交它。

暫無
暫無

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

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