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制作多项目的解决方案模板的更多相关文章

  1. Visual Studio 2013新建ASP.NET项目使用Empty模板,在页面中使用验证控件出错的解决方案

    Visual Studio 2013新建ASP.NET项目使用Empty模板,在页面中使用验证控件,运行页面,会出现如下的错误: 错误原因 VisualStudio 2012(或2013) WebFo ...

  2. Atitit.attilax重要案例 项目与解决方案与成果 v6 qa15

    Atitit.attilax重要案例 项目与解决方案与成果 v6 qa15 1. attilax重要案例的分类(atiuse,auBackTech,bizImp)3 1.1. 两个book3 1.2. ...

  3. visual C++ 项目和解决方案的区别

    项目:         项目是构成某个程序的全部组件的容器,该程序可能是控制台程序.基于窗口的程序或某种别的程序.程序通常由一个或多个包含用户代码的源文件,可能还要加上包含其它辅助数据的文件组成.某个 ...

  4. 嵌入式项目数据解决方案之sqlite

    sqlite当前的版本为3

  5. springmvc+mybatis下载项目自带模板

    1.首先如果要获取javaweb项目中的文件在哪,用到的代码:request.getSession().getServletContext().getRealPath("/WEB-INF/d ...

  6. 制作nodejs项目镜像,实现docker下的快速部署

    前言 前面的文章<centos7+ docker1.12 实践部署docker及配置direct_lvm>中,已经实践了如何在centos7下安装,配置docker, 所以接下来就打算去制 ...

  7. 使用ecstore-sdk开发包制作易开店和启明星模板

    前言: 尽管商派官网有模板开发教程,但是诸多方面太过笼统.我等平庸之辈,纵使细心研读,潜心修炼,亦未能品味练功境界,领悟其中真谛. 商派有云,此九阳真经不用您挥刀****本人却感觉此教程令人抓狂,无人 ...

  8. Windows下编译vpx获得各个项目VS2010解决方案的步骤

    最近研究了一下几种常见的视频编码器:x264,x265,vpx.本文简单记录一下它们的编译方法. x264,x265,vpx这三个开源的视频编码器可以说是当今“最火”的视频编码器.x264现在占据着H ...

  9. VS2012 未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService 未找到与约束ContractName,无法打开项目的解决方案 SQLyog 注册码

    VS2012 未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService   最近新换了系统还真是问题多多呀! ...

  10. 使用低版本的VS打开高版本项目的解决方案(以VS2008打开VS2010开发的项目为例)

    使用低版本的VS打开高版本项目的解决方案,这里以VS2008打开VS2010开发的项目为例. 右键项目的sln文件以记事本的方式打开: 将对应的前两列版本各降到对应的版本,这边的11.00改为10.0 ...

随机推荐

  1. 浅聊java运行机制

    Java程序运行机制 首先要清楚运行机制一般有两种 解释型 编译型 解释型: 顾名思义,就像有个人在旁边给你解释东西一样.比如看一本英文书,英语老师在旁边一句一句给你翻译解释.在写源代码时,每写一个 ...

  2. 【JDBC第6章】数据库事务理论

    第6章:数据库事务 6.1 数据库事务介绍 事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态. 事务处理(事务操作):保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方 ...

  3. Code First 初始化数据时发生异常

    问题重现 用Entity Framework的Code First默认生成的数据库文件被我直接删除了, 然后不管怎么重新编译等等, 运行后总是会报错如下: 解决方案同下 Cannot attach t ...

  4. 如何定位 Druid & HikariCP 连接池的连接泄漏问题?

    背景 最近碰到一个 case,一个 Java 应用无法获取新的数据库连接,日志中出现了以下错误: com.alibaba.druid.pool.GetConnectionTimeoutExceptio ...

  5. IDEA构建Maven项目生成的文件说明(.mvn、mvnw、mvnw.cmd、.gitignore、.iml、.idea、pom.xml)

    IDEA构建的maven+springBoot项目结构如下: 1..gitignore:分布式版本控制系统git的配置文件,意思为忽略提交 在 .gitingore 文件中,遵循相应的语法,即在每一行 ...

  6. 前端ai工具v0使用配置

    资料 ai工具Vo Installation - Tailwind CSS 以vue3 + sass为例,配置如下 安装tailwindcss npm install -D tailwindcss n ...

  7. 题解:CF361B Levko and Permutation

    前置芝士--最大公约数 - OI Wiki 题目其实很简单,我们可以知道一些最大公约数的性质: 有一个数 xxx,则: gcd⁡(x,x−1)=1gcd⁡(1,x)=1\gcd(x,x-1)=1 \\ ...

  8. maven-helper解决依赖冲突

    idea中可以使用maven-helper解决依赖冲突

  9. 【HUST】论于渊《Orange‘s:一个操作系统的实现》第三章中PagingDemoProc的必要性,是否可以直接调用LinearAddrDemo?

    相关代码如下(第三章pmtest9a.asm改写): LinearAddrDemo equ 00401000h ProcHust equ 00401000h ProcIS19 equ 00501000 ...

  10. PC端自动化测试实战教程-4-pywinauto 操作PC端应用程序窗口 - 上篇(详细教程)

    1.简介 前几篇通过宏哥的讲解和分享,已经知道如何将PC端的应用程序启动,以及如何连接已启动的应用程序,那么启动和连接上之后呢?不用说当然是操作应用程序了,怎么操作呢?请听宏哥给你娓娓道来,所以今天主 ...