如何制作Visual Studio 2019项目的副本?

时间:2019-06-14 20:15:08

标签: visual-studio-2019

我有一个Visual Studio 2019项目。被要求进行试用更改。不想更改当前项目。有什么方法可以复制项目,这样我就不必从头开始?

在此处以及其他论坛和文档中搜索,找不到解决方案。

4 个答案:

答案 0 :(得分:1)

简短的回答:您可以非常简单地将项目驻留在磁盘上的目录复制。打开新目录并双击.csproj文件,您现在正在使用项目的新副本。但是,如果您想以更专业,更易维护的方式进行操作,请继续阅读...


以更强大的方式实现此目标的最佳方法是使用Git。

在Visual Studio的右下角,找到“添加到源代码管理”命令,单击它,然后选择Git。现在命令显示“ master”,即项目的主要“副本”:在Git中,这称为您的主要“分支”。

现在单击它,选择“新分支”,为其命名(例如:试用版),选中“签出分支”复选框,然后单击“创建分支”。现在,右下角的命令已更改为“试用”。

现在,您有了项目的另一个副本:您可以对其进行处理,并将其保存在本地磁盘上。当您准备好将其保存在Git中时,请按一下位于底部工具栏右侧的铅笔图标,该铅笔图标位于您之前使用的命令附近(附近的数字表示您已更改了多少个文件):单击,输入“提交消息”,然后单击“全部提交”。现在,您已将所有工作保存在Git项目的试用版“分支”中。

如果您想返回到项目的初始副本,请单击“试用”,然后选择“主”,然后瞧……您现在正在处理旧副本或项目。您可以随时在两个分支之间切换,只记住,在切换之前,您必须“提交”所做的更改,即,将它们保存在Git中,如上所述。

在某些时候,您可能希望将您在试用中所做的更改带入掌握。为此,当您在母版中工作时,单击母版(总是在底部工具栏的右侧),然后选择“管理分支”,然后右键单击“试用版”,再单击“从...合并”。 ,然后单击“合并”按钮:现在,您已将对试用所做的更改纳入了母版。如果您同时更改了主文件和试用文件,并且更改存在冲突,则可能会出现唯一问题:在这种情况下,VS会警告您,向您显示冲突的更改,并且您必须选择发生冲突的版本您想要的更改。

答案 1 :(得分:0)

如果不想或不能使用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 并用 <!-在此处-> 注释更改行
<?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再次创建。

答案 2 :(得分:0)

我建议你在 Visual Studio 中使用项目模板。您创建一个项目模板,将其存储在某处,然后使用存储的模板创建一个新项目。这里有更多细节

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

答案 3 :(得分:0)

是的,通过 GIT 分支,您可以轻松地创建项目的变体。 但我认为这不是问题的核心,因为如果你创建一个分支,它是分开的。

我有一个类似的场景,我需要在同一个解决方案(代码优先数据库)中有一个类似的项目。数据库项目的克隆,以开始并为不同的数据库进行一些更改。所以最后我想在同一个解决方案中有 2 个数据库,不相同但相似。

在解决方案中添加一个新项目然后复制 .CS-Files 是可能的,但由于引用和依赖关系很麻烦。

所以我所做的是:

  1. 关闭 Visual Studio
  2. 打开文件资源管理器并复制整个文件夹(例如 MyProjectA),重命名副本(例如到 MyProjectB)
  3. 将复制的项目 MyProjectB 的 .csproj 项目文件重命名。然后用你选择的文本编辑器打开它,看看你是否需要调整任何东西(例如,如果你将它移动到不同的目录级别,项目引用;它们通常引用一个具有相对路径的不同项目,例如 {{ 1}})
  4. 打开 Visual Studio,加载解决方案
  5. 在解决方案资源管理器中,右键单击解决方案,选择“添加现有项目...”。现在浏览 MyProjectB 以将其添加为现有项目

大功告成!

如果您使用 GIT 等源代码管理,请确保检查是否正确添加了克隆(即检查文件是否由源代码管理跟踪)。