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" 可以替换的内容,好了模板创建完成

 

 

 

 

 

posted on 2025-07-01 10:36  ATATA  阅读(148)  评论(0)    收藏  举报

导航