NuGet 创建项目模板步骤
-
将源码放置content中
-
.template.config 下的template.json修改
{ "$schema": "http://json.schemastore.org/template", "author": "yuanxiao", //作者 "classifications": [ "Web/WebAPI" ], //项目标签TAG "name": "EMSCloudAPI ", //模板名称 "identity": "EMSCloud.API.Template", //模板标识 "shortName": "emsapi", //短名称 "tags": { //标签 "language": "C#" , //语言 "type":"project" //类型 }, "sourceName": "EMSCloud", //模板使用的默认名,用该模板生成工程时会被替换 "preferNameDirectory": true //默认False 是否为模板创建目录 }
-
窗口命令执行
dotnet new -i .
-
查看是否按照成功
dotnet new -l
-
模板生成项目工程
dotnet new {shortName} -n {project.name}
-
模板卸载
dotnet new uninstall {PATH}
-
NuGet打包
新建XXX.nuspec文件,内容如下 <?xml version="1.0" encoding="utf-8"?> <package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd"> <metadata> <id>EMSAPI</id> <version>1.1.0</version> <description> ems.api </description> <authors>yuanxiao</authors> <packageTypes> <packageType name="Template" /> </packageTypes> <!-- <licenseUrl>https://github.com</licenseUrl> <projectUrl>https://github.com</projectUrl> <iconUrl>https://github.comd.png</iconUrl> --> <copyright>Copyright 2019 </copyright> <tags>asp.net core template</tags> </metadata> </package> 执行命令进行打包 nuget.exe pack {XXX}.nuspec
-
打包完成
对应目录下会出现id.version.nupkg,上述文件生成EMSAPI.1.1.0.nupkg
-
内部源码不能上传到外网,可以使用该文件作为模板进行安装
安装命令 dotnet new install EMSAPI.1.1.0.nupkg
-
安装完成
控制台中出现类似如下输出表示完成
E:\Code\NuGetPack>dotnet new install EMSAPI.1.1.0.nupkg 将安装以下模板包: E:\Code\NuGetPack\EMSAPI.1.1.0.nupkg 成功: EMSAPI::1.1.0 已安装以下模板: 模板名 短名称 语言 标记 ------------ ------ ---- ---------- EMSCloudAPI emsapi [C#] Web/WebAPI
-
可通过CLI或者VS进行新建项目
- CLI查看模板生成项目工程部分
- VS打开新建项目搜索template.json下的 //模板名称"name": "EMSCloudAPI ",