首页 > 其他分享 >创建.Net项目模板包

创建.Net项目模板包

时间:2023-05-15 22:03:11浏览次数:35  
标签:Template 创建 如下 template Net KnownTemplate 模板

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

标签:Template,创建,如下,template,Net,KnownTemplate,模板
From: https://www.cnblogs.com/known/p/17403248.html

相关文章

  • Netty高手必知必会的ChannelHandlerContext技巧
    1概述ChannelHandlerContext代表ChannelHandler和ChannelPipeline之间的关联,每当有ChannelHandler添加到ChannelPipeline,都会创建ChannelHandlerContext。1.1主要功能管理它所关联的ChannelHandler和在同一个ChannelPipeline中的其他ChannelHandler之间的交互。Ch......
  • 3000套各行各业ppt模板【珍藏版】
    概述 PPT可以帮助人们更好地传达信息和想法,使得听众更容易理解和记忆。PPT可以通过图像、文字、音频和视频等多种方式来呈现信息,使得信息更加生动、直观和易于理解。此外,PPT还可以帮助人们更好地组织和展示信息,使得听众更容易跟随和理解。如何写好PPT (1)确定主题和目标......
  • Docker+jenlins+gitee部署net6
    1.Docker安装。Docker->虚拟化容器技术。Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间互相隔离。1、选择要安装的平台Docker要求CentOS系统的内核版本高于3.10uname-r#通过uname-r命令查看你当前的内核版本安装文档地址2、选择......
  • dotnet6 项目在Docker部署报错 The type initializer for 'Gdip' threw an exception.
    asp.netcore部署在docker中,使用了System.Drawing.Common包,在容器中使用时报错“Thetypeinitializerfor'Gdip'threwanexception.”原因:因为System.Drawing.Common在跨平台的兼容性不够理想,官方设置为后续版本只能在Windows平台使用,默认是不开启的,需要在运行时配置中开启......
  • CPP0037利用类模板解决绝对值功能
    请使用模板参数设计实现绝对值模板类Absolute,Absolute类功能要求成员函数getValue(void)const计算类数据的绝对值,类数据类型应能适应整型、浮点型、双精度型等各种类型,绝对值类型与类数据一样。#include<iostream>usingnamespacestd;/*请在这里填写答案*/template<classT>c......
  • 网络 -- Internet上的音频视频
    在internet上传输音频视频面临的问题区别:1.音频视频:占用的带宽高网速恒定延迟低2.数据信息:对带宽网速是否恒定延迟要求不高1.延迟:对于非交互式的音频视频影响不大(发送延迟传播延迟排队延迟处理延迟)2.带宽不稳定:设置缓存 安装流媒体服务目前因特网提供的音频......
  • 基于.Net5+Vue+iView前后端分离通用权限开源系统
    在Github上,.Net通用的权限框架非常多,功能也都比较强大,但是对于很多初学者来说,想要从零学习框架的搭建,就比较困难了。所以,今天给大家推荐一套比较简单的前后端分离通用权限系统。项目简介这是一个基于.Net5+Vue+iView开发的、前后端分离通用权限系统,系统采用三层架构,该项目功能......
  • Intel(R) Ethernet Controller X710驱动升级
    环境CentOSLinuxrelease7.9.2009(Core)升级先查看原驱动版本[root@xcdcs~]#lspci|grepnet01:00.0Ethernetcontroller:IntelCorporationEthernetControllerX710for10GbESFP+(rev02)01:00.1Ethernetcontroller:IntelCorporationEthernetController......
  • NetBackup 10.2 新功能介绍:PostgreSQL 和 MySQL 自动化恢复达成
    VeritasNetBackup10.2(Unix,Linux,Windows)下载-一流的企业备份和恢复原文来自:VERITAS中文社区2023-04-27在执行恢复任务时,手动提取、更新数据库和实例并将其附加到PostgreSQL和MySQL是常规操作。而在最新的NetBackup10.2版本中,执行恢复已不再需要上述手动流程......
  • 使用MASA Stack+.Net 从零开始搭建IoT平台 第四章 4.1处理设备上行数据-获取并通知业
    目录前言分析方案共享订阅带群组的共享订阅均衡分发策略数据格式实施流程编写代码验证效果总结前言物联网平台首先需要可以获取并处理设备上报的MQTT中的数据,我们称这部分为上行数据。本章将分为三小节。1、通过MQTT获取设备上报数据并通知业务系统2、业务系统存储和处理上......