天天看點

如何建立 .NET 自定義項目模闆

作者:啟辰8
如何建立 .NET 自定義項目模闆

有多少次您開始一個新項目并想:“這個項目與那個非常相似”,我可以使用它的結構作為起點嗎?

對此,我想給大家介紹一下項目模闆。 更具體地說,我們将讨論自定義模闆。

讓我們從一些基本概念開始。

什麼是自定義模闆?

自定義模闆是一組預定義的檔案和代碼,可用作建立新項目或應用程式的起點。

它可以包括特定項目結構、類檔案和在特定類型的應用程式或程式設計場景中常用的其他資源。

模闆可用于快速設定具有一緻結構和常用功能的新項目,進而為開發人員節省時間和精力。

它主要由兩部分組成:

  1. 源檔案:是包含構成模闆的代碼和功能的檔案。 它們可以包括多種檔案類型,例如類、接口、控制器等。 所有這些檔案都是模闆正常運作所必需的。
  2. 配置檔案 (template.json):它包含模闆的中繼資料和設定。 它還包含模闆名稱、描述、圖示以及導出模闆時應包含的檔案等資訊。

現在,在我們一起了解什麼是自定義模闆及其結構之後,讓我們一起建構一個簡單的模闆。

建構自定義模闆

準備模闆包:

  1. 建立一個名為 templatepack 的項目,運作以下指令:dotnet new console -n template pack -o。
  2. 删除 program.cs 檔案。 該檔案未被目前模闆使用,是以我們可以安全地删除它。
  3. 将 templatepack.csproj 的内容替換為以下内容:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <PackageType>Template</PackageType>
    <PackageVersion>1.0</PackageVersion>
    <PackageId>Basic.Template</PackageId>
    <Title>Basic template</Title>
    <Authors>William Paciaroni</Authors>
    <Description>Templates to use when creating a basic web app.</Description>
    <PackageTags>dotnet-new;templates;</PackageTags>

    <TargetFramework>netstandard2.0</TargetFramework>

    <IncludeContentInPack>true</IncludeContentInPack>
    <IncludeBuildOutput>false</IncludeBuildOutput>
    <ContentTargetFolders>content</ContentTargetFolders>
    <NoWarn>$(NoWarn);NU5128</NoWarn>
    <NoDefaultExcludes>true</NoDefaultExcludes>
  </PropertyGroup>

  <ItemGroup>
    <Content Include="templates\**\*" Exclude="templates\**\bin\**;templates\**\obj\**" />
    <Compile Remove="**\*" />
  </ItemGroup>

</Project>           

建立模闆配置:

  1. 在 templatepack 項目檔案夾中建立一個檔案夾 templates。
  2. 在模闆檔案夾中建立 .template.config 檔案夾。
  3. 在 .template.config 中建立 template.json 檔案。
  4. 将 template.json 的内容替換為以下内容:
{
  "author": "William Paciaroni <[email protected]>",
  "classifications": [ "WebApi" ],
  "description": "",
  "name": "Basic template to create simple web app",
  "defaultName": "Basic Template",
  "identity": "BasicTemplate",
  "groupIdentity": "BasicTemplate",
  "tags": {
    "language": "C#",
    "type": "project"
  },
  "shortName": "basic-template",
  "sourceName": "Bsctmplt",
  "guids": [],

}           

建立我們的自定義模闆:

  1. 讓我們建立一個名為 Bsctmplt 的新解決方案
  2. 将以下項目添加到解決方案中:

    1. Bsctmplt.WebApi: Web App工程。 這是我們的啟動項目。 它包含控制器和契約。

    2. Bsctmplt.Dto: 包含項目的所有DTO。

    3. Bsctmplt.BusinessLayer:包含業務邏輯。

    4. Bsctmplt.Entity: 這是我們添加新實體類的地方。

    5. Bsctmplt.EntityFramework: 它包含DbContext。

  3. 之後我們建立了我們的解決方案結構,是時候打包它了。 進入 templatepack 項目檔案夾并運作以下指令:dotnet pack
  4. 安裝我們的自定義模闆運作:dotnet new install dotnet new install bin/Debug/Basic.Template.1.0.0.nupkg

如何使用:

  1. 建立将包含我們的新項目的檔案夾
  2. 在其中運作指令 dotnet new basic-template。

搞定

繼續閱讀