创建.Net项目模板包

1. 准备解决方案打包文件

  • 创建文件夹Template
  • 在Template下创建template.csproj,内容如下
  <Project Sdk="Microsoft.NET.Sdk">
  
    <PropertyGroup>
      <PackageType>Template</PackageType>
      <PackageVersion>1.0.0</PackageVersion>
      <PackageId>KnownTemplate</PackageId>
      <Title>KnownTemplate</Title>
      <Authors>KnownChen</Authors>
      <Description>Project Template for Known.</Description>
      <PackageTags>dotnet-new;templates;Known</PackageTags>
  
      <TargetFramework>net7.0</TargetFramework>
  
      <IncludeContentInPack>true</IncludeContentInPack>
      <IncludeBuildOutput>false</IncludeBuildOutput>
      <ContentTargetFolders>content</ContentTargetFolders>
      <NoWarn>$(NoWarn);NU5128</NoWarn>
    </PropertyGroup>
  
    <ItemGroup>
      <Content Include="Template\**\*" Exclude="Template\**\bin\**;Template\**\obj\**" />
      <Compile Remove="**\*" />
    </ItemGroup>
  
  </Project>
  • 在Template下再创建文件夹Template,把解决方案模板复制进去

    注意:解决方案所有文件不要使用Template词语,否则创建项目时将文件中的Template替换成项目名称

  • 在Template/Template文件夹在创建.template.config文件夹
    image

  • 在.template.config文件夹下创建template.json文件,内容如下

{
  "$schema": "http://json.schemastore.org/template",
  "author": "KnownChen",
  "classifications": [ "Template" ],
  "name": "KnownTemplate",
  "identity": "KnownTemplate", 
  "shortName": "known",
  "tags": {
    "language": "C#" 
  },
  "sourceName": "Template" /*此处与解决方案名称一致,安装项目时自动替换成项目名称*/
}

2. 打包生成nuget模板包

  • 命令行进入Template目录,输入如下命令回车
dotnet pack
  • 打包成功提示如下图
    image

3. 发布和安装模板包

  • 将生成的KnownTemplate.1.0.0.nupkg包复制到本地nuget源或上传到nuget网站
  • 命令行输入如下命令安装模板包
dotnet new install KnownTemplate
  • 安装成功提示如下图
    image

4. 使用模板创建新项目

  • 命令行输入如下命令创建项目,使用模板的shortName
  dotnet new known --name=TIMS
  • 创建成功提示如下图
    image

  • TIMS项目模板创建结果如下图
    image

posted @ 2023-05-15 21:43  known  阅读(127)  评论(0编辑  收藏  举报