zoukankan      html  css  js  c++  java
  • .NET5 自定义项目模板

    1、自定义项目模板,推荐使用第二种打包NuGet,使用更方便

    • 创建模板配置文件

           在项目文件夹根目录创建.template.config文件夹,在文件夹下创建新的文件:template.json内容如下:

    {
      "$schema": "http://json.schemastore.org/template",
      //必须,模板的作者
      "author": "te.1",
      //必须,模板的分类
      "classifications": [ "Web", "WebAPI.Template" ],
      //必须,模板的名称(改成自己的项目名称)
      "name": "API.Temp",
      //可选,模板的唯一名称
      "identity": "API.template.CSharp",
      //可选,简短名称
      "shortName": "apitemp",
      //必须,模板指定了一些标签
      "tags": {
        "language": "C#",
        "type": "project"
      },
      //可选,要替换的名字 这就就行新建项目时替换成新的名称
      "sourceName": "API.Template",
      //是否生成相同名称的目录,可选
      "preferNameDirectory": true
    }

    我的项目结构如下:

    • 项目模板安装

       打开命令行进入项目目录,运行以下命令以安装位于当前文件夹的模板:

    • 在 Windows 上:dotnet new -i .
    • 在 Linux 或 macOS 上:dotnet new -i ./
    • 使用模板新建项目

       使用命令 :dotnet new  apitemp -n Test 创建test项目

     

     创建完成的项目结构:

    使用命令 dotnet new -u 查看安装的模板卸载命令,例如下图,可以直接使用命令 dotnet new -u E:NETAppletsShare副本 卸载已安装的模板

    2、创建模板NuGet包项目

    • 创建模板配置文件

      在项目顶级根目录创建templatepack.csproj修改内容如下:

    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <!-- 包类型使用与包Id相同的格式,并由分隔 ; 。 包类型可通过追加 , 和字符串进行版本控制 -->
        <!-- 示例 <PackageType>CustomType1, 1.0.0.0;CustomType2</PackageType>     -->
        <PackageType>Template</PackageType>
        <!-- 指定生成的包所具有的版本 -->
        <PackageVersion>1.0</PackageVersion>
        <!-- 唯一名称,卸载安装时使用 -->
        <PackageId>API.Template</PackageId>
        <!-- 包标题 -->
        <Title>WebApi  Template</Title>
        <!-- 作者名称,多个以分号分隔 -->
        <Authors>te.1</Authors>
        <!-- 包描述 -->
        <Description>创建应用程序时使用的模板。</Description>
        <!--使用默认值即可, 必须设置 <TargetFramework> 设置,以便在运行 pack 命令编译和打包项目时 MSBuild 正常运行。 -->
        <TargetFramework>net5.0</TargetFramework>
        <!-- 标记的分号分隔列表,这些标记用于指定包 -->
        <PackageTags>dotnet-new;templates;contoso</PackageTags>
        <!-- 以下配置可以不管 -->
        <IncludeContentInPack>true</IncludeContentInPack>
        <IncludeBuildOutput>false</IncludeBuildOutput>
        <ContentTargetFolders>content</ContentTargetFolders>
        <NoWarn>$(NoWarn);NU5128</NoWarn>
      </PropertyGroup>
     <!-- 排除bin、obj文件夹  注意:需要把templates换成你的文件路径 -->
      <ItemGroup>
        <Content Include="templates***" Exclude="templates**in**;templates**obj**" />
        <Compile Remove="***" />
      </ItemGroup>
    </Project>
    • 生成和安装

       项目结构目录必须如下:

    项目根目录
    │   templatepack.csproj
    └───templates   
       └───.template.config        
            └───template.json

    在项目根目录下打开命令行,使用命令dotnet pack 此命令会生成项目,并在 项目根目录inDebug 文件夹中创建一个 NuGet 包,如以下输出所示:

    接下来,使用 dotnet new -i PATH_TO_NUPKG_FILE 命令安装模板包文件,完整命令如下。

    dotnet new -i E:NETAppletsShare副本inDebugAPI.Template.1.0.0.nupkg

    使用命令 dotnet new -u 查看安装的模板卸载命令,例如下图,可以直接使用命令  dotnet new -u API.Template副本 卸载已安装的模板

    创建项目 命令 :dotnet new  apitemp -n Test 创建test项目

    参考:dotnet new 自定义模板 - .NET CLI | Microsoft Docs

              .NET Core - 自定义项目模板 - chaney1992 - 博客园 (cnblogs.com)

  • 相关阅读:
    08-认识margin
    07-border(边框)
    06-padding(内边距)
    05-盒模型
    04-层叠性权重相同处理
    03-继承性和层叠性
    MySQL安装与基本管理
    数据库概述
    并发编程练习
    selectors模块
  • 原文地址:https://www.cnblogs.com/miskis/p/14758749.html
Copyright © 2011-2022 走看看