前言

在微服务架构盛行的时代,一言不合就新建一个服务,虽然搭建服务并没什么难度,但不可避免的是每个人搭建出来的架子会存在差异,这很合理,因为每个开发者的个人风格、工作经验都不一样,难免认为自己喜欢的才是最好的。另一方面,如果需要较频繁搭建服务,这些重复而没难度的操作就显得浪费时间,而且每次手动处理总可能存在一些细节上的失误,出现异常然后花时间解决更得不偿失。

面对以上一些问题,拥有一个符合自己团队的项目模板就显得比较重要了,这篇文章主要介绍在 asp.net 如果自定义项目模板。

内置的项目模板

在 vs 中,新建项目时我们都需要先选项目类型,这些类型选项本质上是内置的项目模板,不同类型对应不同的项目代码结构。

通过命令查看当前有的项目模板:

dotnet new -h

以上是内置的一些项目模板,如 console 、 classlib 、 mvc 、 webapi 等应该都是平时使用比较多的。

创建项目模板

搭建项目 ( 这里是只是 demo 例子,实际根据自己的项目要求自定义项目结构 )

  • 新建一个 .net core web api 项目(demoservice.api) 和 .net standard 类库(demoservice.core);
  • demoservice.api 引用 demoservice.core;
  • demoservice.api 添加 swashbuckle.aspnetcore 生成 swager 文档的引用;
  • demoservice.core 添加 servicestack.ormlite.sqlserver 数据库操作的 orm 库引用;

这一步和搭建普通的项目没任何区别,搭建完成后可测试看看效果。

添加模板配置

在解决方案 .sln 所在的目录下创建模板配置文件夹 .template.config ,并在 .template.config 文件夹下创建 template.json 文件,编辑 template.json ,输入以下配置:

{
"$schema": "http://json.schemastore.org/template",
"author": "me",
"classifications": [ "micro", "webapi" ], 
"identity": "demoservice",
"name": "demoservice",
"shortname": "swa",
"tags": {
"language": "c#",
"type": "project" 
},
"sourcename": "demoservice", 
"prefernamedirectory":"true"
}

配置说明:

  • author:模板作者,必填
  • classifications:模板分类,必填
  • name:模板名称,当使用 dotnet new 创建项目时,指定的模板名称,必填
  • identity:模板唯一名称,可选
  • shortname:模板简短名称,必填
  • tags:模板标签
  • sourcename:指定一个字符串,当使用 dotnet new 带 -n 参数时,-n 参数的值会替换 sourcename 指定的字符串。
  • prefernamedirectory:是否生成相同名称的目录,可选。

安装模板

dotnet new -i <path> // 当前目录下:dotnet new -i .\

从模板创建项目

模板安装成功后,我们可以通过 dotnet new 创建新项目,在存放新项目的目录下执行如下命令:

dotnet new swa -n userservice

swa 为 demoservice 的 shortname , -n 后的 userservice 将替换 demoservice 名,这样一条命令 userservice 服务的基础架子就好了。

参考链接

  • projecttemplatesmaple 源码

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对www.887551.com的支持。