DotNet 自定義模板

DotNet 自定義模板

創建目錄結構

下面以 artizan-abp-microservice 項目爲例,

解決方案結構:

基於該項目創建 dotnet 模板,
首先,創建文件夾 templates,所有的項目模板將保存於此。

從gitee 下載 artizan-abp-microservice 項目代碼:

git clone [email protected]:Artisan-k/artizan-abp-microservice.git

提示:

之所以使用 git clone 是過濾掉不必要的文件和文件夾,比如: bin文件,node_modles,若使用本地文件,還得清理這些文件和文件夾,影響本地開發。

把項目代碼移動到 templates/artizan-abp-microservice/content 目錄下,至此目錄結構如下:

├── templates                          //  用來存放所有的模板
│   ├── artizan-abp-microservice       //  artizan-abp-microservice 模板全部內容
│   │    ├── content                   //  存放 Code 項目代碼,可直接運行
│   │    │    ├── apps          
│   │    │    ├── gateways        
│   │    │    ├── services      
│   │    │    ├── ...         
│   │    │    └── MsOnAbp.sln     
│   │    │ 
│   │    ├── LICENSE.md    存放版本許可信息,如果不添加,後邊會警告
│   │    │ 
│   │    └── 
│   │
│   └── 

template.json

創建文件夾templates\artizan-abp-microservice\content\.template.config

然後在其中創建名爲:template.json的定義模板的配置文件。

詳細信息可以查看官網 :https://docs.microsoft.com/zh-cn/dotnet/core/tools/custom-templates

到目前爲止,目錄結構如下:

├── templates                          //  用來存放所有的模板
│   ├── artizan-abp-microservice       //  artizan-abp-microservice 模板全部內容
│   │    ├── content                   //  存放 Code 項目代碼,可直接運行
│   │    │    ├── apps          
│   │    │    ├── gateways        
│   │    │    ├── services      
│   │    │    ├── ...         
│   │    │    └── MsOnAbp.sln   
│   │    │    ├── .template.config
│   │    │        ├── template.json
│   │    ├── LICENSE.md    存放版本許可信息,如果不添加,後邊會警告
│   │    │ 
│   │    └── 
│   │
│   └── 

修改其內容爲:

{
  "$schema": "http://json.schemastore.org/template",
  "author": "majiangfang",
  "classifications": ["Artizan", "Microservice", "ABP", "C#"],
  "identity": "Artizan.Abp.Microservice.Template",
  "sourceName": "MsOnAbp",
  "name": "Artizan ABP Microservice Template",
  "description": "Artizan ABP Microservice Template",
  "tags": {
    "language": "C#",
    "type": "solution"
  },
  "shortName": "artizan-abp-ms",
  "preferNameDirectory": true
}

生成本地模板

然後執行如下命令,生成本地模板:

> dotnet new install F:\05-workspace\dev\01-lab\abp-framework\templates\artizan-abp-microservice


將安裝以下模板包:
   F:\05-workspace\dev\01-lab\abp-framework\templates\artizan-abp-microservice

成功: F:\05-workspace\dev\01-lab\abp-framework\templates\artizan-abp-microservice 已安裝以下模板:

模板名                              短名稱           語言   標記
---------------------------------  --------------  ----  ---------------------------
Artizan ABP Microservice Template  artizan-abp-ms  [C#]  Artizan/Microservice/ABP/C#

注意:短名稱:artizan-abp-ms,後面我們將使用它來生成項目

使用本地模板生成項目

使用本地模板的短名稱:artizan-abp-ms 來生成項目,執行如下命令生成一個項目:

> dotnet new artizan-abp-ms -n IotPlatform
已成功創建模板“Artizan ABP Microservice Template”。

生成的項目如下:

1686564565137

解決方案結構:

1686564565137

發佈到 Nuget

(略)

參考資料

從壹開始前後端分離 39 || 想創建自己的dotnet模板麼?看這裏 - 老張的哲學 - 博客園 (cnblogs.com)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章