我一直在閱讀很多關於vcxproj文件是否應該添加到源代碼管理的問題。共識似乎是他們應該的,但是當打開文件時,我注意到裏面有很多用戶特定的路徑。。源代碼管理中的.vcxproj
由於這是一個正在被許多人使用的項目,我還應該將它添加到源代碼控制中嗎?它似乎會與其他人的設置發生衝突。
我一直在閱讀很多關於vcxproj文件是否應該添加到源代碼管理的問題。共識似乎是他們應該的,但是當打開文件時,我注意到裏面有很多用戶特定的路徑。。源代碼管理中的.vcxproj
由於這是一個正在被許多人使用的項目,我還應該將它添加到源代碼控制中嗎?它似乎會與其他人的設置發生衝突。
當然他們需要添加到源代碼管理,.vcxproj 是該項目文件。引用MSDN:
項目文件不再使用的.vcproj文件擴展名。 Visual Studio自動將由早期版本的Visual C++創建的項目文件轉換爲當前系統使用的格式。有關如何手動升級 項目的詳細信息,請參閱/升級(devenv.exe)。
在當前版本中,項目文件的文件擴展名爲 .vcxproj。
的.vcxproj.user文件,在另一方面,也不需要加入到源代碼控制。上面的鏈接描述了每個文件都包含的內容。
這是真的,但是_.vcxproj_文件包含大量數據,這些數據看起來特定於我:'
@ user524351你確定你沒有明確地將該路徑添加到項目選項嗎?我沒有在我的vcxproj文件中看到任何路徑 – Praetorian
我沒有,但這些文件是CMake自動生成的。添加它們。不知道爲什麼會。 – user524351
這是您的項目的項目文件。所以是的,你最好檢查一下。你可能不想檢入的唯一文件是.vcxproj.user文件。它包含用戶特定的覆蓋,特別是調試器設置。
如果您沒有在「程序員」模式下操作Explorer,那麼您只能犯這樣的錯誤。它有隱藏文件擴展名的惡習。使用控制面板+文件夾選項,查看選項卡修復該問題,取消選中「隱藏已知文件類型的擴展名」複選框。
您應該使用屬性文件(可以包含在項目文件中)來保持用戶特定的路徑易於更改和排除。將所有路徑引入屬性文件起初可能很乏味,但是非常值得(路徑的唯一真實來源,所有項目都可以導入它們,用戶可以更改路徑而不用擔心其他人覆蓋它們)。 – ssube
項目文件(vcproj(x)不應包含設置(*)中的絕對路徑(用戶特定);當指定路徑時使用預定義的「宏」(例如$(IntDir))或相對路徑(但它們將相對於退出宏(例如$(SolutionDir)) (*)是的規則有例外情況,例如全局外部包括 – Max