dotnet使用自定义模板创建开发脚手架

在代码目录下创建.template.config/template.json

在这里插入图片描述
在这里插入图片描述

template.json内容如下:

{
    "$schema": "http://json.schemastore.org/template",
    "author": "Zelun",
    "classifications": ["myname", "framework"],
    "name": "myname-name",
    "identity": "myname-identity",
    "groupIdentity": "myname-groupIdentity",
    "shortName": "myname-shortName",
    "tags": {
        "language": "C#",
        "type": "project"
    },
    "sourceName": "MyName",
    "preferNameDirectory": true
}
  • author:作者
  • classifications:分类
  • name:模板名称
  • shortName:短名称
  • sourceName:使用模板创建项目时,可替换的名称,有用!

保存后回到根目录,开妈准备安装使用

安装模板

#注意最后的点“.”
dotnet new install .\

在这里插入图片描述

#删除模板使用,注意最后的点“.”
dotnet new uninstall .\
#列出模板使用
dotnet new list
#列出可删除模板
dotnet new uninstall 

使用模板

dotnet new myname -n DemoProject

打包到nuget

在代码目录内创建一个 nuspec 文件:myname.template.dotnet.nuspec,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
    <id>myname.template.dotnet</id>
    <version>1.0.1</version>
    <description>
      myname.template.dotnet, including WebApi, Console
    </description>
    <authors>Zelun</authors>
    <packageTypes>
      <packageType name="Template" />
    </packageTypes>
  </metadata>
</package>

在这里插入图片描述
需要注意,packageType 为 Template,metadata.id 必须保证唯一,其他按需设置即可。
必须是在 content 文件夹内。nuget 在打包的时候,是根据 content 文件夹来进行的。
使用 nuget pack 命令打包
nuget pack myname.template.dotnet.nuspec -OutputDirectory .
nuget push myname.template.dotnet.nupkg -s http://url pwd

最终目录结构

详见:https://github.com/atzq1234/myname-template-demo

── templatename-root
   └── content
	    └── MyName
	       └── .template.config
	            └──template.json
	       └── .vs
	       └──.dockerignore
	       └── MyName.sln
	       └── Codexxx[代码目录]
   └── myname.template.dotnet.nuspec
   └── myname.template.dotnet.1.0.1.nupkg
   └── nuget.exe
   └── README.md
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值