.net core——打造自己的 dotnet new 微服务解决方案模板

435 阅读1分钟

目录

1. 建立新的微服务

我司的微服务是基于一套基础类库构建而来,新建里一个微服务,需要引用框架解决方案以及构造自己的automapper类,以及初始化类,错误代码类等,微服务解决方案按照既定约定进行命名,构造整体过程并不繁琐,所以一直没有生成响应的模板。
最近有时间研究下dotnet new模板的构成,发现极其简单,因此,按照教程构建一个包,记录如下。

2.准备环境

  • .NET Core 2.0 SDK 或更高版本。
  • 现有的微服务项目解决方案
  • nuget.exe

3.以现有的微服务项目为模板

  • step1: 使用已确认可以编译和运行的现有项目,把该项目放在Content文件夹下,并在Content文件夹下建立文件夹目录 .template.config。
  • step 2:在 .template.config 文件夹中,创建 template.json 文件来配置模板。
{
  "$schema": "http://json.schemastore.org/template",
  "author": "webmote",
  "classifications": [ "microService", "Console","quantum","webmote" ],
  "identity": "Quantum.MicroService",
  "name": "微服务Application",
  "shortName": "qms",
  "tags": {
    "language": "C#"                       // Specify that this template is in C#.
	},
	"sourceName": "Appointment",  //需要替换的文件夹名称
	"preferNameDirectory":"true"
}

4.分发模板

Content文件夹同目录下增加 nuspec 文件,并配置如下:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
    <id>Qms.MicroService</id>
    <version>1.0.0</version>
    <description>
      微服务模板
    </description>
    <authors>webmote</authors>
    <packageTypes>
      <packageType name="Template" />
    </packageTypes>
  </metadata>
</package>

5.nuget pack打包

nuget pack ***\***.nuspec

6.本地安装

dotnet new -i ***\***1.0.0.nupkg

7.使用新模板

dotnet new qms -n Test  

8.完整代码参看github

  1. 口袋代码仓库
  2. 在线计算器
  3. 本节源码:github