前言
在微服務架構盛行的時代,一言不合就新建一個服務,雖然搭建服務并沒什么難度,但不可避免的是每個人搭建出來的架子會存在差異,這很合理,因為每個開發者的個人風格、工作經驗都不一樣,難免認為自己喜歡的才是最好的。另一方面,如果需要較頻繁搭建服務,這些重復而沒難度的操作就顯得浪費時間,而且每次手動處理總可能存在一些細節上的失誤,出現異常然后花時間解決更得不償失。
面對以上一些問題,擁有一個符合自己團隊的項目模板就顯得比較重要了,這篇文章主要介紹在 ASP.NET 如果自定義項目模板。
內置的項目模板
在 VS 中,新建項目時我們都需要先選項目類型,這些類型選項本質上是內置的項目模板,不同類型對應不同的項目代碼結構。
通過命令查看當前有的項目模板:
1
|
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 ,輸入以下配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
{ "$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:是否生成相同名稱的目錄,可選。
安裝模板
1
|
dotnet new -i <PATH> // 當前目錄下:dotnet new -i .\ |
從模板創建項目
模板安裝成功后,我們可以通過 dotnet new 創建新項目,在存放新項目的目錄下執行如下命令:
1
|
dotnet new swa -n UserService |
swa 為 DemoService 的 shortName , -n 后的 UserService 將替換 DemoService 名,這樣一條命令 UserService 服務的基礎架子就好了。
參考鏈接
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。
原文鏈接:http://beckjin.com/2019/08/04/aspnet-template/