我有一个Visual Studio 2019项目。被要求进行试用更改。不想更改当前项目。有什么方法可以复制项目,这样我就不必从头开始?
在此处以及其他论坛和文档中搜索,找不到解决方案。
答案 0 :(得分:1)
简短的回答:您可以非常简单地将项目驻留在磁盘上的目录复制。打开新目录并双击.csproj文件,您现在正在使用项目的新副本。但是,如果您想以更专业,更易维护的方式进行操作,请继续阅读...
以更强大的方式实现此目标的最佳方法是使用Git。
在Visual Studio的右下角,找到“添加到源代码管理”命令,单击它,然后选择Git。现在命令显示“ master”,即项目的主要“副本”:在Git中,这称为您的主要“分支”。
现在单击它,选择“新分支”,为其命名(例如:试用版),选中“签出分支”复选框,然后单击“创建分支”。现在,右下角的命令已更改为“试用”。
现在,您有了项目的另一个副本:您可以对其进行处理,并将其保存在本地磁盘上。当您准备好将其保存在Git中时,请按一下位于底部工具栏右侧的铅笔图标,该铅笔图标位于您之前使用的命令附近(附近的数字表示您已更改了多少个文件):单击,输入“提交消息”,然后单击“全部提交”。现在,您已将所有工作保存在Git项目的试用版“分支”中。
如果您想返回到项目的初始副本,请单击“试用”,然后选择“主”,然后瞧……您现在正在处理旧副本或项目。您可以随时在两个分支之间切换,只记住,在切换之前,您必须“提交”所做的更改,即,将它们保存在Git中,如上所述。
在某些时候,您可能希望将您在试用中所做的更改带入掌握。为此,当您在母版中工作时,单击母版(总是在底部工具栏的右侧),然后选择“管理分支”,然后右键单击“试用版”,再单击“从...合并”。 ,然后单击“合并”按钮:现在,您已将对试用所做的更改纳入了母版。如果您同时更改了主文件和试用文件,并且更改存在冲突,则可能会出现唯一问题:在这种情况下,VS会警告您,向您显示冲突的更改,并且您必须选择发生冲突的版本您想要的更改。
答案 1 :(得分:0)
如果不想或不能使用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再次创建。
答案 2 :(得分:0)
我建议你在 Visual Studio 中使用项目模板。您创建一个项目模板,将其存储在某处,然后使用存储的模板创建一个新项目。这里有更多细节
答案 3 :(得分:0)
是的,通过 GIT 分支,您可以轻松地创建项目的变体。 但我认为这不是问题的核心,因为如果你创建一个分支,它是分开的。
我有一个类似的场景,我需要在同一个解决方案(代码优先数据库)中有一个类似的项目。数据库项目的克隆,以开始并为不同的数据库进行一些更改。所以最后我想在同一个解决方案中有 2 个数据库,不相同但相似。
在解决方案中添加一个新项目然后复制 .CS-Files 是可能的,但由于引用和依赖关系很麻烦。
所以我所做的是:
大功告成!
如果您使用 GIT 等源代码管理,请确保检查是否正确添加了克隆(即检查文件是否由源代码管理跟踪)。