簡體   English   中英

如何制作 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 ”)。

  • projectOld.sln重命名為 projectNew.sln
  • 打開projectNew.sln並更改以下行以設置新項目名稱:
Project("{C9CE8BB8-8B4A-11D0-5E31-C9100A0BC942}") = "projectNew", "projectNew.vcxproj", "{66F6A241-22E1-4941-6DA3-B6D9E7A8AF86}"
  • projectOld.vcxproj重命名為projectNew.vcxproj
  • 打開projectNew.vcxproj並使用<!-- here -->注釋更改行
<?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 中使用項目模板。 您創建一個項目模板,將其存儲在某處,然后使用存儲的模板創建一個新項目。 這里有更多細節

https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/ms247121(v=vs.100)?redirectedfrom=MSDN

是的,通過 GIT 分支,您可以輕松地創建項目的變體。 但我認為這不是問題的核心,因為如果你創建一個分支,它是分開的。

我有一個類似的場景,我需要在同一個解決方案(代碼優先數據庫)中有一個類似的項目。 數據庫項目的克隆,以開始並為不同的數據庫進行一些更改。 所以最后我想在同一個解決方案中有 2 個數據庫,不相同但相似。

在解決方案中添加一個新項目,然后復制 .CS-Files 是可能的,但由於引用和依賴關系很麻煩。

所以我所做的是:

  1. 關閉 Visual Studio
  2. 打開文件資源管理器並復制整個文件夾(例如 MyProjectA),重命名副本(例如到 MyProjectB)
  3. 將復制的項目 MyProjectB 的 .csproj 項目文件重命名。 然后使用您選擇的文本編輯器打開它,看看您是否需要調整任何內容(例如,如果將其移動到不同的目錄級別,則項目引用;它們通常引用具有相對路徑的不同項目,例如<ProjectReference Include="..\\SomePathOfADifferentProject\\SomeProject.csproj"/> )
  4. 打開 Visual Studio,加載解決方案
  5. 在解決方案資源管理器中,右鍵單擊解決方案,選擇“添加現有項目...”。 現在瀏覽 MyProjectB 以將其添加為現有項目

你就完成了!

如果您使用像 GIT 這樣的源代碼管理,請確保檢查是否正確添加了克隆(即檢查文件是否由源代碼管理跟蹤)。

暫無
暫無

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

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