![](/img/trans.png)
[英]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.