繁体   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