VisualStudio2022制作多项目的解决方案模板
VisualStudio 2022 本身只提供了,一个项目生成模版,并没有多个项目一起打包生成模版,不过,可以使用nuget 跟dotnet来打包整个解决方案
第一步
如果没有nuget这个工具的话可以去官网下载,然后设置环境变量,这里就不多讲了,首先我们的项目解决方案编译没有问题之后清理一下,清理完了就可以关闭vs了, 然后再删除掉所有的obj文件侠, 还有.vs文件也删除掉
删除obj 批处理可以这样子写
@echooff for /f "delims=" %%i in ('dir obj /s /b /ad') do rd /s /q "%%i"
清理的目的就是让打包的文件尽可能的小
第二步
开始写template.json
在当前解决方案的目录下创建一下.template.config文件侠,然后在文件侠里面新建一个文件叫template.json
编写template.json内容
{ "$schema": "http://json.schemastore.org/template", "author": "作者名", "classifications": [ "Web", "API" ], "identity": "维一id", "name": "这是模版名", "shortName": "这是模版短名", "description": "集成阿里oss文件存储,使用内部ioc及log,仅包含基础用户、角色、菜单、权限、用户与角色多对多、菜单与权限多对多、角色菜单权限多对多、参数表,使用efcore code first mysql.", "tags": { "language": "C#", "type": "project" }, "sourceName": "这是你解决方案的顶级命名空间,使用的时候会替换的内容,如M001", "preferNameDirectory": true }
编写完

第三步
编写在解决方案根目录新建文件以.nuspec后缀的文件比如M023.nuspec
编写M023.nuspec文件内容
<?xml version="1.0" encoding="utf-8"?> <package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd"> <metadata> <id>唯一id最好跟上面一样</id> <version>1.0.0</version> <description>集成阿里oss文件存储,使用内部ioc及log,仅包含基础用户、角色、菜单、权限、用户与角色多对多、菜单与权限多对多、角色菜单权限多对多、参数表,使用efcore code first mysql</description> <authors>作者</authors> <packageTypes> <packageType name="Template" /> </packageTypes> </metadata> </package>
第四步
清理好所有多余的文件,关闭所有打开的文件
打开cmd 定位 到解决方案目录
然后执行
nuget pack M023.nuspec
这样就会打包成一个
M023.1.0.0.nupkg
然后再执行
dotnet new install M023.1.0.0.nupkg
这样模版就创建完成了
第五步
打开vs 新建一个项目 ,在左边模板那里就可以看到自己创建的新模板了,或者输入自己的模板也可以快速找到,点下一步,然后这里填写的项目名 就是之前填写的"sourceName" 可以替换的内容,好了模板创建完成
VisualStudio2022制作多项目的解决方案模板的更多相关文章
- Visual Studio 2013新建ASP.NET项目使用Empty模板,在页面中使用验证控件出错的解决方案
Visual Studio 2013新建ASP.NET项目使用Empty模板,在页面中使用验证控件,运行页面,会出现如下的错误: 错误原因 VisualStudio 2012(或2013) WebFo ...
- Atitit.attilax重要案例 项目与解决方案与成果 v6 qa15
Atitit.attilax重要案例 项目与解决方案与成果 v6 qa15 1. attilax重要案例的分类(atiuse,auBackTech,bizImp)3 1.1. 两个book3 1.2. ...
- visual C++ 项目和解决方案的区别
项目: 项目是构成某个程序的全部组件的容器,该程序可能是控制台程序.基于窗口的程序或某种别的程序.程序通常由一个或多个包含用户代码的源文件,可能还要加上包含其它辅助数据的文件组成.某个 ...
- 嵌入式项目数据解决方案之sqlite
sqlite当前的版本为3
- springmvc+mybatis下载项目自带模板
1.首先如果要获取javaweb项目中的文件在哪,用到的代码:request.getSession().getServletContext().getRealPath("/WEB-INF/d ...
- 制作nodejs项目镜像,实现docker下的快速部署
前言 前面的文章<centos7+ docker1.12 实践部署docker及配置direct_lvm>中,已经实践了如何在centos7下安装,配置docker, 所以接下来就打算去制 ...
- 使用ecstore-sdk开发包制作易开店和启明星模板
前言: 尽管商派官网有模板开发教程,但是诸多方面太过笼统.我等平庸之辈,纵使细心研读,潜心修炼,亦未能品味练功境界,领悟其中真谛. 商派有云,此九阳真经不用您挥刀****本人却感觉此教程令人抓狂,无人 ...
- Windows下编译vpx获得各个项目VS2010解决方案的步骤
最近研究了一下几种常见的视频编码器:x264,x265,vpx.本文简单记录一下它们的编译方法. x264,x265,vpx这三个开源的视频编码器可以说是当今“最火”的视频编码器.x264现在占据着H ...
- VS2012 未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService 未找到与约束ContractName,无法打开项目的解决方案 SQLyog 注册码
VS2012 未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService 最近新换了系统还真是问题多多呀! ...
- 使用低版本的VS打开高版本项目的解决方案(以VS2008打开VS2010开发的项目为例)
使用低版本的VS打开高版本项目的解决方案,这里以VS2008打开VS2010开发的项目为例. 右键项目的sln文件以记事本的方式打开: 将对应的前两列版本各降到对应的版本,这边的11.00改为10.0 ...
随机推荐
- 【Linux】U-Boot 加载并启动 Linux 系统程序
U-Boot 加载并启动 Linux 系统程序 零.介绍 最近在玩一些嵌入式的开发板,在引导操作系统时需要用到U-Boot,故此研究一下. U-Boot(Universal Bootloader)是一 ...
- OpenEuler22.03源码编译安装nginx1.24.0
一.环境说明 操作系统版本:OpenEuler22.03 SP2 LTS Nginx版本:1.24.0 安装位置:/app/nginx Selinux配置:关闭或设置为permissive 二.Ngi ...
- 2025dsfz集训Day5:最短路与最小生成树
DAY5 I : 最小生成树 \[Designed\ By\ FrankWkd\ -\ Luogu@Lwj54joy,uid=845400 \] 特别感谢 此次课的主讲 - Kwling 生成树及最小 ...
- 浏览器如何确定最终的CSS属性值?解析计算优先级与规则
前言 上篇文章中有提到CSS值的处理过程,但如果想要确定一个元素的最终样式值可以不需要这么多步.实际上我们写的任何一个标签元素无论写没写样式,它都会有一套完整的样式.理解这一点非常重要️ 比如:一个简 ...
- 开源免费真香!Star 1.4k 这款开源在线教育系统让万人学习零压力,企业培训系统一键搭建神器
嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 PlayEdu 是一款基于 SpringBoot3 + Vue3 开发的开源企业培训系统,提 ...
- Spring 基于注解的AOP面向切面编程
Spring 基于注解的AOP面向切面编程 源码 代码实现 pom.xml <?xml version="1.0" encoding="UTF-8"?&g ...
- 【经验】Word 2021|Word文档间复制粘贴保留源格式后,行间距却发生变化(文档网格)
版本:Word 2021 这个问题通常是因为文档中设置了网格,段落中设置了按照网格对齐. 下面记录网格的相关设置. 打开设置界面 布局-页边距-自定义页边距. 影响网格布局的所有因素 如果想将两篇文档 ...
- 【记录】Opencv+LibTorch安装
环境Ubuntu20.04. [Opencv]源码编译:Linux系统下opencv3.4.1安装教程 [LibTorch]下载已编译版本:在Ubuntu下安装LibTorch [磁盘空间不足]vmw ...
- Java的"伪泛型"变"真泛型"后,会对性能有帮助吗?
泛型存在于Java源代码中,在编译为字节码文件之前都会进行泛型擦除(type erasure),因此,Java的泛型完全由Javac等编译器在编译期提供支持,可以理解为Java的一颗语法糖,这种方式实 ...
- 代码重构(OOP)-小栗子(PyQt5)
主要是为了练习下 面向对象, 不断提醒自己代码一定要写成 营销风格, 和优雅. 最近在B站上看一下关于 Python GUI 编程的内容. 恰好呢, 前不久的一个 将本地 Ecxcel 数据 发布到 ...