应用场景:同一解决方案下,创建不同版本的项目。比如,若访问不同服务器上的相同接口进行通信或比较,可创建不同的项目,除了相关配置的不同,其他目录结构都一样。
为避免代码、文件的重复,不同项目可引用相同的文件及工程目录。Visual Studio提供了相关功能。
-
VS打开已有项目,选择从现有代码创建项目;
-
在从现有代码文件创建新项目的向导中,可以选择语言类型;
要与已有项目保持一致,我这里选择的 Visual C#;点击下一步,
-
指定项目详细信息中,新项目会建在现有代码文件所在的同一文件夹中,所以文件选择已有项目.csproj所在目录;
默认勾选包含子文件夹;
新项目名称可类似,不能重复;
输出类型与已有项目类型一致;一般都是 Windows应用程序;
-
点击完成,保存对解决方案的更改;
后面会新建一个独立的项目,所以已有项目中的所有引用都会消失,只引用默认的几个常用库;
程序集名称与默认命名空间一致;
可以勾选 自动生成绑定重定向;
更改目标框架,此时新建项目的目标框架是 .NET Framework 4 Client Profile,要与已有项目的目标框架保持一致;
关闭新建项目,保存全部修改;
-
打开原有的解决方案;在解决方案资源管理器上,选择“现有项目”,引入新建项目,与已有项目同级;
新建项目的引用要与原项目保持一致;直接编辑.csproj文件,大概有2部分;
Nuget引用的DLL相关:覆盖ItemGroup,Reference放在一组ItemGroup中;
自定义或项目引用相关:添加ItemGroup,ProjectReference放在一组ItemGroup中;
确保Properties的ItemGroup一致;
-
修改启动项或相关配置,重新生成即可,成功后可进行后续操作;
同级目录下,可以删除新建项目的.sln;
针对不同的新建项目,从项目中排除不同的配置文件、不同的图标;
确定启动项;
特殊的文件属性保持一致,比如 如果较新则复制;
项目属性中,生成/目标平台:Any CPU