1. 程式人生 > >.net core——打造自己的 dotnet new 微服務解決方案模板

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

目錄

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


在此我向大家推薦一個微服務架構學習交流群。交流學習群號:864759589 裡面會分享一些資深架構師錄製的視訊錄影:高併發、高效能、分散式、微服務架構的原理,分散式架構等這些成為架構師必備的知識體系。
在這裡插入圖片描述


引用連結

  1. 口袋程式碼倉庫
  2. 線上計算器
  3. 本節原始碼:github