[英]How to reference one copy of vcxproj.filters and vcxproj.user per project between visual studio 2017 and visual studio 2019
[英]How to make copy of Visual Studio 2019 project?
我有一個 Visual Studio 2019 項目。 被要求進行試驗更改。 不想改變當前項目。 有什么方法可以復制項目,這樣我就不必從頭開始了嗎?
在此處和其他論壇和文檔中搜索並找不到解決方案。
簡短回答:您可以非常簡單地復制您的項目在磁盤上的目錄。 打開新目錄並雙擊 .csproj 文件,您現在正在處理項目的新副本。 但是,如果您想以更專業和可維護的方式做到這一點,請繼續閱讀...
以更健壯的方式做到這一點的最佳方法是使用 Git。
在 Visual Studio 的右下角找到“添加到源代碼管理”命令,單擊它,然后選擇 Git。 現在命令顯示“master”,這是您項目的主要“副本”:在 Git 中,這稱為您的主要“分支”。
現在點擊它,選擇“New branch”,給它一個名字(例如:trial),選中“Checkout branch”復選框,然后點擊“Create branch”。 現在右下角的命令已更改為“試用”。
現在您有了項目的另一個副本:您可以處理它,將您的工作保存在本地磁盤上。 當你准備好將它保存在 Git 中時,按下位於底部工具欄右側的鉛筆圖標,靠近您之前使用的命令(它附近的數字顯示您更改了多少文件):單擊它,輸入“提交消息”,然后單擊“全部提交”。 現在,您已將所有工作保存在 Git 項目的試用“分支”中。
如果您想回到項目的初始副本,請單擊“試用”,然后選擇“主”,瞧……您現在正在處理舊副本或您的項目。 您可以隨時在兩個分支之間切換,只需要記住,在切換之前,您必須“提交”您的更改,即,將它們保存在 Git 中,正如我上面解釋的那樣。
在某些時候,您可能希望將您在試用中所做的更改帶入掌握。 為此,當您在 master 中工作時,單擊 master(始終在底部工具欄的右側),然后選擇“管理分支”,然后右鍵單擊“試用”,單擊“從...合並” ,然后單擊“合並”按鈕:您現在已將試用時所做的更改帶入 master。 如果您在 master 和 trial 中都更改了文件,並且更改發生沖突,則會出現唯一的問題:在這種情況下,VS 會警告您,向您顯示沖突的更改,您必須選擇沖突的版本你想要的改變。
如果不想或不能使用git,也可以復制並粘貼項目文件夾。 進入新文件夾后,這是我通常所做的(我假設舊項目名為“ projectOld ”而新項目名為“ projectNew ”)。 :
Project("{C9CE8BB8-8B4A-11D0-5E31-C9100A0BC942}") = "projectNew", "projectNew.vcxproj", "{66F6A241-22E1-4941-6DA3-B6D9E7A8AF86}"
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
[...]
<PropertyGroup Label="Globals">
[...]
<RootNamespace>projectNew</RootNamespace> <!-- here -->
[...]
<ProjectName>projectNew</ProjectName> <!-- here -->
[...]
<ItemGroup>
<ClCompile Include="..\..\..\..\..\IncludePath(1)\ImplementatFile(1).cpp" /> <!-- here -->
[... up to last]
<ClCompile Include="..\..\..\..\..\IncludePath(n)\ImplementatFile(n).cpp" />
[...]
<ItemGroup>
[same thing for every ItemGroups] <!-- here -->
[...]
將projectOld.vcxproj.filters重命名為projectNew.vcxproj.filters
將projectOld.vcxproj.user重命名為projectNew.vcxproj.user
可以刪除Debug和X64文件夾,mvsc會重新創建。
我建議你在 Visual Studio 中使用項目模板。 您創建一個項目模板,將其存儲在某處,然后使用存儲的模板創建一個新項目。 這里有更多細節
是的,通過 GIT 分支,您可以輕松地創建項目的變體。 但我認為這不是問題的核心,因為如果你創建一個分支,它是分開的。
我有一個類似的場景,我需要在同一個解決方案(代碼優先數據庫)中有一個類似的項目。 數據庫項目的克隆,以開始並為不同的數據庫進行一些更改。 所以最后我想在同一個解決方案中有 2 個數據庫,不相同但相似。
在解決方案中添加一個新項目,然后復制 .CS-Files 是可能的,但由於引用和依賴關系很麻煩。
所以我所做的是:
<ProjectReference Include="..\\SomePathOfADifferentProject\\SomeProject.csproj"/>
)你就完成了!
如果您使用像 GIT 這樣的源代碼管理,請確保檢查是否正確添加了克隆(即檢查文件是否由源代碼管理跟蹤)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.