【VisualStudio 】VisualStudio2022 项目模板

news/2025/3/6 15:52:16/

引言

最近写项目已经形成的自己的套路:新建一个prism工程,添加主界面,配置界面,等,很多常用功能已经封装成项目进行复用。如果每次来了一个新的活,重新配置这些都是完全重复的工作(大概需要十几二十分钟),于是我决定研究下项目模板。

单项目模板

首先从单模板项目开始。这是我的一个写好的项目,我可以通过下面这种方式直接导出一个项目模板。
在这里插入图片描述
这个解决方案里有多个项目,选择你需要导出的项目,点击下一步:
在这里插入图片描述
点击完成,就OK了。
在这里插入图片描述
这个时候在:C:\Users\xxx\Documents\Visual Studio 2022\My Exported Templates
会被自动打开,在这个目录下会出现一个 MyMainPro.zip 的文件。

注意,在下面这个目录也会出现 MyMainPro.zip ,如果你想删除这个模板,记住这两个地方都需要删除。
C:\Users\xxx\Documents\Visual Studio 2022\Templates\ProjectTemplates

记住着两个目录!
C:\Users\xxx\Documents\Visual Studio 2022\My Exported Templates
C:\Users\xxx\Documents\Visual Studio 2022\Templates\ProjectTemplates
其实ProjectTemplates这个目录其实才是关键,这个后续再说。

下次你在新建项目的时候,就能找到:
在这里插入图片描述

多项目模板

如果你想把整个解决方案都做成一个模板,其实就是多项目模板。比如我刚刚那个主项目,它引用了多个其他项目,如果仅仅只是打包主项目,这个子项目引用都是空的也不太行。
所以,我需要将多个项目进行打包。整个过程就没那么自动化了。

导出所需的所有项目

这里我继续选择一个子项目:
在这里插入图片描述
点击完成,导出子的项目
在这里插入图片描述
导出了你需要的全部项目后,你就会发现在C:\Users\xxx\Documents\Visual Studio 2022\My Exported Templates 有多个zip文件了。
在这里插入图片描述
点开其中的一个zip,看看里面的结构:
在这里插入图片描述
每个zip结构大致相同,包含这个项目的所以文件,和一个MyTemplate.vstemplate
这个就是描述项目模板的文件。每个zip里都有一个!
我们稍微看看单模板文件里面的内容:
在这里插入图片描述

准备 MultiProjectTemplate 文件

现在如果想要打包多个模板,你就需要一个文件,把这些单个模板都链接起来!
那这个文件就是:MultiProjectTemplate.vstemplate 我先直接给出这个文件的内容。

<VSTemplate Version="3.0.0" Type="ProjectGroup"xmlns="http://schemas.microsoft.com/developer/vstemplate/2005"><TemplateData><Name>MyHalconPro</Name><Description>Halcon解决方案模板</Description><Icon>Icon.ico</Icon><ProjectType>CSharp</ProjectType></TemplateData><TemplateContent><ProjectCollection><ProjectTemplateLink ProjectName="MyMainPro">MyMainPro\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="VisionCore">VisionCore\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="ROIWindow">ROIWindow\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="WpfConverter">WpfConverter\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="libxl">libxl\MyTemplate.vstemplate</ProjectTemplateLink></ProjectCollection></TemplateContent>
</VSTemplate>

和单模板的很类似,这里的Type=“ProjectGroup”,再不是 “Project”,并通过ProjectCollection把所有的模板关联起来了。
注意这个MyHalconPro 标签,后面找模板就是找这个名字。
Icon.ico 是给项目模板设置一个图片。

构建目录

准备好这个文件之后,我们就需要构建目录了,之前我们不是有多个zip吗?
在这里插入图片描述
现在需要解压这些文件,一个个解压(如果解压的时候报什么头错误,直接忽略),然后放到一个临时的文件夹:
在这里插入图片描述
然后,全选这些文件,直接打包到zip。最后将这个打包好的zip拷贝到目录:
C:\Users\xxx\Documents\Visual Studio 2022\Templates\ProjectTemplates

注意千万不要搞成下面这个目录了:
C:\Users\xxx\Documents\Visual Studio 2022\My Exported Templates 这个多模板,只有拷贝到ProjectTemplates里面才会生效,这里我耽误了至少一个小时。因为之前My Exported
Templates,都是自动被打开,我以为就是拷贝到这里。

那么现在你就可以新建一个多模板项目了:
在这里插入图片描述
有个这个文件,再开启一个新的项目就轻轻松松了~~~~~
在这里插入图片描述


http://www.ppmy.cn/news/1167924.html

相关文章

echarts内px转化为rem可适应单位

//echartPxToRem.tsexport function fontSize(res: number) {const clientWidth window.innerWidth ||document.documentElement.clientWidth ||document.body.clientWidth;if (!clientWidth) return;const designWidth 1920; // 设计稿宽度const minWidth 1024; // 最小适配…

为什么MySQL使用B+树索引,而不使用其他作为索引呢?

索引介绍 索引是一种用于快速查询和检索数据的数据结构&#xff0c;其本质可以看成一种排序号的数据结构。 索引的作用相当于书的目录。打个比方&#xff1a;在查字典的时候&#xff0c;如果没有目录&#xff0c;那我们就只能一页一页地去查&#xff0c;速度很慢。如果有目录…

java 实现定时任务

1、EnableScheduling spring自带的定时任务功能&#xff0c;使用比较简单方便&#xff1a; 1、需要定时执行的方法上加上Scheduled注解&#xff0c;这个注解中可以指定定时执行的规则&#xff0c;稍后详细介绍。 2、Spring容器中使用EnableScheduling开启定时任务的执行&…

asp.net乒乓球场地管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net乒乓球场地管理系统是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语 言开发 asp.net 乒乓球场地管理系统 二…

bug记录(feign)——如何给feign加上请求头相关的参数,让生产者获得请求头中参数

问题描述 在微服务的调用中&#xff0c;如果消费者通过feign调用生产者&#xff0c;然后生产者方法中需要用到请求头&#xff0c;从请求头中获得token&#xff0c;但是feign默认是不携带请求头的&#xff0c;因此即使消费者请求feign的时候请求头中携带了token&#xff0c;也没…

【Qt之JSON文件】QJsonDocument、QJsonObject、QJsonArray等类介绍及使用

Qt之JSON相关类介绍 QJsonDocument常用函数枚举类型 QJsonDocument::DataValidation枚举类型 QJsonDocument::JsonFormat构造函数静态函数成员函数示例 QJsonObject常用函数构造函数&#xff1a;成员函数&#xff1a; QJsonObject 与 QVariantMap 相互转换 QJsonArray常用函数构…

基本指令(1):操作系统/Xshell,文件,路径

一、操作系统 操作系统是一款进行软硬件资源管理的工具&#xff0c;对上提供良好、稳定的运行服务。 二、文件 1. 文件 文件内容 文件属性 2. 所有的文件操作&#xff1a; 对文件的内容进行操作 对文件的属性进行操作 三、路径 3.1 路径的概念 路径的本质是&#xff…

How to install mongodb 7.0 to Ubuntu 22.04

How to install mongodb 7.0 to Ubuntu 22.04 1、安装1.1、添加gpg1.2、添加apt源1.3、更新1.4、安装 2、管理2.1、服务管理2.1.1、查看服务状态2.1.2、启动服务2.1.3、 设置服务为开机启动2.1.4、取消服务开机启动2.1.5、关闭服务2.1.6、服务重启 2.2、mongosh2.2.1、进入mong…