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