自定义.NET Core项目模板
时间:2023-06-06 13:36:01 | 来源:网站运营
时间:2023-06-06 13:36:01 来源:网站运营
自定义.NET Core项目模板:
前言
在.net core之前,创建项目的方式的方式大概有以下几种
- 猛汉型,每个项目都徒手从0开始建项目
- 拷贝型,从以把以前项目拷过来,删除vss等信息
- 工具型,使用代码生成器,或者脚本,创建项目
以上方式各有利弊,好在在.net core时代,一切不再那么繁琐,我们有了dotnet cli,也就是脚手架,通过它我们可以很方便的创建自己的项目模板。
今天我就给大家分享一下如何创建自己的项目模板,算是一个入门篇,废话不多说我们开始吧!
dotnet cli自带模板有哪些?
我们输入dotnet new -l 来列出来所有的模板信息,这里每个人都有可能不一样,可以看出来模板种类还是很多的。
所有模板信息编写自己的模板
下面我们开始编写自己的模板,首先要创建项目,这个可以按照自己的项目创建风格来,我就创建了一个最基本的webapi项目架构,同时引入swagger,项目结构如下
跑起来的项目,大致如下
好了,项目我们已经有了,那么如何将它变成模板呢。我们先在项目根目录创建.template.json文件夹(注意前面还有个点),然后在这个文件夹下面创建template.json文件,用来告诉.NET Core CLI该怎样产生新的项目,目录结构如下
创建template.json文件template.json内容示例如下
{ "author": "Hugh Wang", "classifications": [ "Web/WebAPI" ], "name": "TplDemo", "identity": "TplDemoTemplate", "shortName": "tpl", "tags": { "language": "C#" , "type":"project" }, "sourceName": "TplDemo", "preferNameDirectory": true}
肯定有小伙伴一头雾水,上面这些参数都是啥呀,别着急,下面我对关键的一些参数一一道来。
- author:此模板的作者名称
- identity:模板唯一名
- name:模板名称
- shortName:模板名称的简写
- classifications:模板分类,出现在模板的Tags列中
- sourceName:这是一个可选参数,我们在执行dotnet new的时候,可以指定-n(name)参数,这个参数定义了项目名称,在指定-n的情况下,该设置的字符串会被其替代。
- preferNameDirectory:在执行dotnet new的时候,如果你有指定-n参数,预设会建立一个与-n参数值同名的文件夹,如果你将该属性设定为false的话,就不会创建。此属性默认为true。
template.json写完了,下面我们就要将它安装到cli中
进入项目根目录(当然您也可以在-i后面自己指定.template.json文件夹路径),安装示例如下
dotnet new -i .
安装完成后,就可以看到我们的模板已经安装好了。
我们再看看这个模板的帮助信息
dotnet new tpl -h
我们没有设置额外的参数,所以这里显示的是没有参数。
下面我们创建一个项目试试
项目很快就创建好了,可以看到,除了名字,其他的结构都是一样的
跑起来看看
至此,我们自己创造了一个最简单的项目模板,其实cli还有很多更高级更灵活的配置如文件过滤,动态切换等我再单独写一篇文章跟小伙伴们分享。
可以说有了有了自己的脚手架,可以一键生成自己需要的东西,还是很爽的,它帮助我们从繁重的重复的工作中解脱出来,把精力更多的放在业务上。