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. 利用AI增强VS Code TypeScript插件:AnyToTS带来编程新体验

    Any to TS: VSCode 扩展插件 概述 "Any to TS" 是一个强大的 VSCode 扩展插件,旨在将任何对象转换为 TypeScript 类型或接口.该工具基于 ...

  2. Firebug Lite——在没有调试工具的浏览器(如IE6-7)中调试

    现在做前端的应该是蛮幸福的,现在主流的浏览器都自带了调试工具,如 Firefox Chrome IE8+ 等,方便了网页开发时的一些调试.但是类似IE6的调试还是非常的不方便.但是发现一个调试神器-- ...

  3. 由 MCP 官方推出的 C# SDK,使 .NET 应用程序、服务和库能够快速实现与 MCP 客户端和服务器交互!

    前言 今天大姚给大家推荐一个由 MCP 官方推出的 C# SDK,使 .NET 应用程序.服务和库能够快速实现与 MCP 客户端和服务器交互:MCP C# SDK. 项目介绍 MCP C# SDK 是 ...

  4. Linux poweroff 命令

    poweroff 命令命令用于关闭计算器并切断电源. 使用权限:系统管理者. 语法 poweroff [-n] [-w] [-d] [-f] [-i] [-h] 参数说明: -n : 在关机前不做将记 ...

  5. SEO老了?GEO来了!玩转传统搜索+AI搜索,吸引眼球大作战!

    上网冲浪.查资料.找游戏攻略.看爱豆新闻--你们肯定天天都在用搜索引擎,对吧?比如百度.谷歌啥的.但你们有没有想过,为啥有些网站总排在前面,有些却石沉大海?这背后可有"潜规则"! ...

  6. js 计算精度问题解决

    js 计算精度问题解决 /** * * * @param x 需处理精度的数 * @param n 小数点后第 n 位 * @returns 处理后的数 */ function roundFracti ...

  7. krpano.js导出为模块方便vue等框架使用的问题

    作为一个全栈(干),前端commonjs amd 那些东西没有研究过,一直用es6内置的export和import(不香吗?).最近写一个全景项目,有一个krpano.js文件官网案例是标签引入,可我 ...

  8. StarBlog和Masuit.MyBlogs博客程序学习使用日记(二)

    使用中发现管理平台的博客列表无法查看,发现是echarts.min.js引用路径无效,找到route.config.js之后找到对应的菜单配置项修改对应的路径为https://cdn.staticfi ...

  9. P10833 [COTS 2023] 下 Niz题解

    题意: 给定长度为 \(N\) 的序列 \(a\),求满足以下条件的 \((l,r)\) 对数: \(1\le l\le r\le N\): \(a_l,a_{l+1},\cdots,a_{r-1}, ...

  10. 基于onnxruntime结合PyQt快速搭建视觉原型Demo

      我在日常工作中经常使用PyQt和onnxruntime来快速生产demo软件,用于展示和测试,这里,我将以Yolov12为例,展示一下我的方案.   首先我们需要使用Yolov12训练一个模型,并 ...