ASP.NET如何自定義項(xiàng)目模板詳解
前言
在微服務(wù)架構(gòu)盛行的時(shí)代,一言不合就新建一個(gè)服務(wù),雖然搭建服務(wù)并沒什么難度,但不可避免的是每個(gè)人搭建出來的架子會(huì)存在差異,這很合理,因?yàn)槊總€(gè)開發(fā)者的個(gè)人風(fēng)格、工作經(jīng)驗(yàn)都不一樣,難免認(rèn)為自己喜歡的才是最好的。另一方面,如果需要較頻繁搭建服務(wù),這些重復(fù)而沒難度的操作就顯得浪費(fèi)時(shí)間,而且每次手動(dòng)處理總可能存在一些細(xì)節(jié)上的失誤,出現(xiàn)異常然后花時(shí)間解決更得不償失。
面對(duì)以上一些問題,擁有一個(gè)符合自己團(tuán)隊(duì)的項(xiàng)目模板就顯得比較重要了,這篇文章主要介紹在 ASP.NET 如果自定義項(xiàng)目模板。
內(nèi)置的項(xiàng)目模板
在 VS 中,新建項(xiàng)目時(shí)我們都需要先選項(xiàng)目類型,這些類型選項(xiàng)本質(zhì)上是內(nèi)置的項(xiàng)目模板,不同類型對(duì)應(yīng)不同的項(xiàng)目代碼結(jié)構(gòu)。
通過命令查看當(dāng)前有的項(xiàng)目模板:
dotnet new -h

以上是內(nèi)置的一些項(xiàng)目模板,如 console 、 classlib 、 mvc 、 webapi 等應(yīng)該都是平時(shí)使用比較多的。
創(chuàng)建項(xiàng)目模板
搭建項(xiàng)目 ( 這里是只是 Demo 例子,實(shí)際根據(jù)自己的項(xiàng)目要求自定義項(xiàng)目結(jié)構(gòu) )

- 新建一個(gè) .NET Core Web API 項(xiàng)目(DemoService.API) 和 .NET Standard 類庫(DemoService.Core);
- DemoService.API 引用 DemoService.Core;
- DemoService.API 添加 Swashbuckle.AspNetCore 生成 Swager 文檔的引用;
- DemoService.Core 添加 ServiceStack.OrmLite.SqlServer 數(shù)據(jù)庫操作的 ORM 庫引用;
這一步和搭建普通的項(xiàng)目沒任何區(qū)別,搭建完成后可測(cè)試看看效果。
添加模板配置
在解決方案 .sln 所在的目錄下創(chuàng)建模板配置文件夾 .template.config ,并在 .template.config 文件夾下創(chuàng)建 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:模板名稱,當(dāng)使用 dotnet new 創(chuàng)建項(xiàng)目時(shí),指定的模板名稱,必填
- identity:模板唯一名稱,可選
- shortName:模板簡(jiǎn)短名稱,必填
- tags:模板標(biāo)簽
- sourceName:指定一個(gè)字符串,當(dāng)使用 dotnet new 帶 -n 參數(shù)時(shí),-n 參數(shù)的值會(huì)替換 sourceName 指定的字符串。
- preferNameDirectory:是否生成相同名稱的目錄,可選。
安裝模板
dotnet new -i <PATH> // 當(dāng)前目錄下:dotnet new -i .\
從模板創(chuàng)建項(xiàng)目
模板安裝成功后,我們可以通過 dotnet new 創(chuàng)建新項(xiàng)目,在存放新項(xiàng)目的目錄下執(zhí)行如下命令:
dotnet new swa -n UserService
swa 為 DemoService 的 shortName , -n 后的 UserService 將替換 DemoService 名,這樣一條命令 UserService 服務(wù)的基礎(chǔ)架子就好了。

參考鏈接
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Asp.net core中RedisMQ的簡(jiǎn)單應(yīng)用實(shí)現(xiàn)
這篇文章主要介紹了Asp.net core中RedisMQ的簡(jiǎn)單應(yīng)用實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Visual?Studio?2022?MAUI?NU1105(NETSDK1005)?問題處理記錄
某一天修改了幾行代碼后,突然項(xiàng)目無法編譯了,提示NU1105錯(cuò)誤,這篇文章主要介紹了Visual?Studio?2022?MAUI?NU1105(NETSDK1005)?處理記錄,需要的朋友可以參考下2022-12-12
asp.net 操作excel的實(shí)現(xiàn)代碼
用asp.net操作excel的實(shí)現(xiàn)代碼,一直都是本人所喜歡的,從網(wǎng)上搜了下ASP.NET Excel找到了這篇好文章2008-02-02
asp.net中利用Jquery+Ajax+Json實(shí)現(xiàn)無刷新分頁的實(shí)例代碼
本篇文章主要是對(duì)asp.net中利用Jquery+Ajax+Json實(shí)現(xiàn)無刷新分頁的實(shí)例代碼進(jìn)行了介紹,需要的朋友可以過來參考下,需要對(duì)大家有所幫助2014-02-02

