.NetCore自定义模板,发布Nuget
1.创建模板项目框架

2.创建模板文件
在项目文件夹根目录创建.template.config文件夹,在文件夹下创建新的文件:template.json

内容如下
{
"$schema": "https://json.schemastore.org/template.json",
"author": "cwsheng", // 模板作者 必须
"classifications": [ "G6Test", "web api" ], //必须,这个对应模板的Tags 模板特征标识。上文举例的配置是因为我自定义的模板包括了console和webapi
"name": "TestTmp", //必须,这个对应模板的Templates 用户看到的模板名称
"identity": "TestTemplate", //可选,模板的唯一名称
"shortName": "testtmp", //必须,这个对应模板的Short Name 短名称。当使用CLI命令创建模板项目时,使用短名称将利于使用。
"tags": {
"language": "C#",
"type": "project"
},
"sourceName": "Test", // 可选,要替换的名字
//"preferNameDirectory": true // 可选,添加目录
"symbols": {
//是否使用分层模板
"EnableFramework": {
"type": "parameter", //它是参数
"dataType": "bool", //bool类型的参数
"defaultValue": "true" //默认是启用
}
},
"sources": [
{
"modifiers": [
{
"condition": "(!EnableFramework)", //条件,由EnableFramework参数决定
"exclude": [ //排除下面的文件 支持Dic/** 以及Dic/*.cs的方式
"Test.Domain/**",
"Test.Domain.Share/**",
"Test.IServices/**",
"Test.Services/**"
]
}
]
}
]
}
3.安装模板
项目目录打开命令行,运行以下命令以安装位于当前文件夹的模板:
安装模板 (绝对路径)
dotnet new install D:\MyProject\Test-DotnetNew\TestTemplate --force
卸载模板
dotnet new uninstall D:\MyProject\Test-DotnetNew\TestTemplate

查看模板

查看模板支持选项

使用新模板创建项目
// -n 项目名称 -o 生成项目路径 -E/--EnableFramework 自定义命令 (生成项目模式)
dotnet new testtmp -n 111222 -E false
4.发布Nuget包,远程使用
创建Nuget配置文件,放到项目目录 需要注意的是files>file节点,这里用来排除模板中各子项目下的bin和obj文件夹。
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>testTmp</id>
<version>1.0.0</version>
<description> 动态模板包 </description>
<authors>testG6</authors>
<packageTypes>
<packageType name="TestTemplate" />
</packageTypes>
</metadata>
<files>
<file src="TestTemplate\**" target="TestTemplate" exclude="**\bin\**;**\obj\**" />
</files>
</package>

打包模板,并生成.nupkg文件
下载nuget.exe文件
下载路径:https://www.nuget.org/downloads
选择合适的版本,下载文件夹下。


打包模板,并生成.nupkg文件
-OutputDirectory ./ 生成路径(默认当前路径)
D:\MyProject\Test-DotnetNew>nuget.exe pack TestTemplate/apiTmp.nuspec
生成testTmp.1.0.0.nupkg 包
发布包至Nuget仓
dotnet nuget push --source "你的项目名" --api-key az --interactive ./bin/Debug/azure_nuget.1.0.0.nupkg (暂未推送)
通过拉取Nuget包,加载自定义模板
dotnet new --install testTmp::1.0.0 //(Nuget包名称::版本)
dotnet new uninstall testtmp

查看本地模板
dotnet new list
.NetCore自定义模板,发布Nuget的更多相关文章
- 利用 Azure Devops 创建和发布 Nuget 包
利用 Azure Devops 创建和发布 Nuget 包 原 Visual Studio Team Service ,简称 VSTS,能够创建 pipelines 管道以构建应用程序,并将其部署到任 ...
- Printing tools 自定义模板打印的实现
#ArcGIS for Server 自定义打印两种方法 友好阅读版本: http://gishub.info/2013/09/17/printingtools/ ## 前言使用web打印会遇到中文乱 ...
- Django之博客系统:自定义模板标签
Django提供了很多内置的模板标签比如{% if %}或者{% block %}Django也允许你创建自己的模板标签(template tags)来执行自定义的动作.当你需要在你的模板中添加功能而 ...
- 使用.Net Core CLI命令dotnet new创建自定义模板
文章起源来自一篇博客:使用 .NET CORE 创建 项目模板,模板项目,Template - DeepThought - 博客园 之前使用Abp的时候就很认同Abp创建模板项目的方式.想不到.Net ...
- Springboot 结合百度IORC实现自定义模板图片识别
前言: 首先呢,最近再公司的项目当中遇到这样的一个问题,就是需要识别图片,提取图片当中的关键语句,而且识别的语句当然是人家手写体识别,翻来覆去一想,最终还是决定使用百度的OCR帮助我解决这一项需求 话 ...
- Django自定义模板
定义simple_tag步骤 一.创建templatetags文件 首先在app下创建templatetags文件:名字不许叫这个,不能改变. 二.在文件中创建一个py文件 文件名自定义 三.在创建的 ...
- 学习CodeIgniter框架之旅(一)自定义模板目录
在常用的框架本身都已经做好了分层和目录结构,但这在很多时候不满足项目的需求甚至在某些情况下变得不合理,因此很多时候需要自定义目录结构,在此就看看如果在CodeIgniter框架中自定义模板目录: 在C ...
- .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(三)
阅读目录: 7.HtmlHelper.HtmlHelper<T>中的ViewModel的类型推断 8.控制ViewModel中的某个属性的呈现(使用PartialView部分视图细粒度控制 ...
- 使用requireJS,backboneJS,和underscoreJS完成自定义模板封装
使用requireJS,backboneJS,和underscoreJS完成自定义模板封装 原来的代码 当我们进行一个列表的数据填充的时候,是这样做的: //获取美食列表 function getFo ...
- DISCUZ 自定义模板
DISCUZ 自定义模板 模板安装和维护 安装新模板 将模板template打包放在对应目录:template/ 后台 -> 界面 -> 风格管理 , 安装模板 后台 -> 界面 - ...
随机推荐
- Docker工作管理中实用操作
"build once ,run anywhere" ...
- 解决Connecting to 127.0.0.1:8118... failed: Connection refused.
这里是代理问题的锅 $ env|grep -I proxy http_proxy=http://127.0.0.1:8118 ftp_proxy=http://127.0.0.1:8118 https ...
- 2022-05-05内部群每日三题-清辉PMP
1.在项目规划阶段,质量保证经理建议实施三重测试环境以确保产品质量.项目经理确定这项建议将会增加成本,而且开发和认证环境将足以保证质量.项目经理应使用什么来影响质量保证经理? A.质量成本(COQ) ...
- mysql 备份定时任务
#!/bin/bash rq=`date +%Y-%m-%d-%H` #日期 #数据库信息 host=127.0.0.1 user=root password=xxx dbname=script #放 ...
- iOS开发之UIImage在压缩时失真问题,压缩图片的大小
今天遇到UIImage在压缩时失真问题,压缩图片的大小图片模糊 错误的方案 /** * 压缩图片 * image:将要压缩的图片 size:压缩后的尺寸 */ -(UIImage*) OriginIm ...
- redis sentinel 部署
redis sentinel 部署 服务器说明 192.168.2.200 master redis-server redis-sentinel 192.168.2.201 slave1 redis- ...
- 导出PDF 空白赋值备份
后台代码 //出货清单 @RequestMapping(params="getBusinessOutDetail") public void getBusinessOutDetai ...
- Postman中的测试脚本(Test scripts)
一.postman测试脚本 测试脚本是在发送请求之后运行的,并且已经从服务器接收到响应. 二.测试举例 1.设置环境变量 pm.environment.set("variable_key&q ...
- tesseract-ocr 安装、语言库、使用 随记
前几日才听说ocr的图片识别功能.觉得很有意思.先体验一下. 地址: GitHub - tesseract-ocr/tesseract: Tesseract Open Source OCR Engin ...
- <CONTAINING_RECORD宏>引发的<结构体深度剖析(内存对齐,对齐参数,偏移量)>
什么是结构体内存对齐?为什么要对齐?怎样对齐? 结构体内存对齐:元素是按照定义顺序一个一个放到内存中去的,但并不是紧密排列的. 从结构体存储的首地址开始,每个元素放置到内存中时,它都会认为内存是按照自 ...