创建.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

本文转载于网络 如有侵权请联系删除

相关文章

  • 元宇宙链游开发离我们有多远?

    VR被视为人类敞开元宇宙新数字空间的“眼睛”。业界普遍认为,合肥作为新式显现之都,在打造VR工业链方面具有得天独厚的硬件优势。有BOE、世亚等显现职业全球头部企业,形成了从沙到整机的完好工业布局。 在合肥新站高新区高教基地,有28所高校近20万学生。如此丰厚的教育科研资源,为元宇宙工业的人才培养和“产学研”协作提供了前提条件。 安徽艺术学院数字媒体艺术专业教师叶观察到,近两年,艺术设计、音乐舞蹈、戏曲扮演等专业的师生开端探究将虚拟实际技能运用到教学场景中。有教师测验运用虚拟仿真舞蹈操练体系,由虚拟人操练学生把握肢体动作。设备学员的操练数据被搜集并传送到体系以评估学习作用。 据他所知,许多毕业生分布在动漫、影视职业,从事UI设计、室内VR模仿和虚拟室内场景搭建,多为内容制造人。在热门游戏职业,从事以艺术体现为主的前端作业,如动画交互设计、游戏美术设计、特效制造等。 “作为教师,要提早重视元宇宙职业,平常也要耳濡目染地向学生传递相关的理念和常识,提早培养学生的职业洞察力。”他说。 正是在叶的影响下,一个学生把“虚拟疫情防控”射击游戏作为自己的毕业设计,把新式冠状病毒设定为立体的“

  • 获取有趣的句子,python教你如何快速收归数据库

    你可曾看见过这样的句子:“我爱的人也爱着我,对我来说这简直是个奇迹。”又或者是:“生活中若没有朋友,就像生活中没有阳光一样。”再或者这样:“我会抓着你,拉着你,救你,我不会放手,但是你要让我拉着你,知道吗?” 是一些非常有意思的句子,那如何来获取这些句子,并为自己所用呢! 第一、分析字段首先我们要分析我们需要获取的网站,然后找到我们需要的字段,这里,我们提供两个网站供学习。https://api.fghrsh.net/hitokoto/rand/?encode=jsc&uid=3335复制https://v1.hitokoto.cn/复制然后我们来分析一下我们需要的字段。看上面的json,我们需要获取的字段分别是,hitokoto,source,author,id类似的,当我们去分析第二个网站时也是同样的操作。 第二、建立数据库表我们能获取到字段数据之后,我们需要分析我们的表如何显示,如何储存的问题。因此我们先创建数据库。防止出现表情,我们采用utf8mb4'''创建数据库''' CREATEDATABASE`csdn

  • 郑冠杰:KDD Cup城市大脑赛题方法总结!

    作者:郑冠杰,上海交通大学助理教授作者信息内容概括 1.赛事背景2.常用方法交通学方法强化学习方法3.Getstarted基本使用(下载、安装、环境简介、可视化)Baseline方法实现(FixedTime,DQN)PPT下载:后台回复“210421”可获取视频地址:https://www.bilibili.com/video/BV1ny4y147wm/赛事背景KDD全称是ACMSIGKDDConferenceonKnowledgeDiscoveryandDataMining,是数据挖掘领域最顶级的学术会议,通常会有超过3000人参加 KDDCup是全世界最高水平的数据科学竞赛之一,通常会有数千支队伍和个人参加。今年数据挖掘顶会KDD在数据竞赛单元KDDCup特别设置了“城市大脑挑战赛”,号召研究者们设计有效的交通协调策略,希望通过集结全球研究者的技术力量,为城市交通智能化献智出力。比赛链接:http://www.yunqiacademy.org/赛题介绍常用方法GetStarted1.下载docker镜像dockerpullcitybrainchallenge/cbengine:0.

  • 芒果实验室,293细胞冻存

    阻挡你前进的不一定是高山大海,而往往是鞋底一粒小小的沙粒! 细胞培养绝对是个技术活,跟智商关系不大。如果细胞没养好,不管是细胞系还是原代细胞,都说明没有掌握技巧。技术活,当然最好有师傅带入门,但是临床医生做科研,哪怕是最简单的细胞培养,也常常要自己摸索,或者是从不是那么专业、规范的师兄师姐那里学习。细胞培养最好的老师,多是生物背景出身的专职科研人员,而不是医学背景的上级医师们。在细胞培养技术进阶到一定程度,支原体污染是一个难题,还有一个问题是细胞储存问题。支原体污染最有可能出现问题的就是细胞传代前准备工作部分。避免支原体污染,最主要还是从无菌操作入手,定期检测支原体,定期消毒培养箱和工作台,避免多细胞交叉污染,规范操作。那么细胞冻存,问题又在哪里呢?一是冻,尤其是最开始从4℃到-20℃的阶段。正常情况下,经过-20℃1h30min这一步后,冻存管内的细胞已经处于凝固状态,如果此时冻存管内还是液体,很可能是DMSO或冰箱冷冻功能出现了问题。如若遇到这种情况,不能因为时间到了,就把把液体状态的冻存管放置到液氮中,可以适当延长在-20℃环境下的冷冻时间30-60分钟,直至冻存液凝固后再放到液

  • 最常见的 Git 错误都有哪些,如何解决它们?

    如果您曾经与许多开发者一起开发一个大项目,那么使用Git作为版本控制是一个最好的选择。不过Git很复杂,使用过程中经常会犯各种错误。在本文中,我将讨论程序员在使用Git时所犯的一些常见错误以及如何解决它们。拼写错误的最后提交消息经过几个小时的编码后,您的提交消息可能存在很多拼写错误,好在有一个简单的解决方案:gitcommit--amend复制该命令将打开您的编辑器,并允许您更改最后一次提交消息。因为可能没人会注意到你写的“Initialcommment”有三个m。拼写错误的分支名假设已经是下午三点了,但是你还没有吃午饭。饥肠辘辘的你可能直接就用feature-brunch作为你的分支名了,哇塞,好美味啊。可是很明显你写错了,应该是feature-branch。所以你可以使用mv你可以使用mv命令类似重命名文件的方式重命名此分支:将其移动到具有正确名称的新位置。如:gitbranch-mfeature-brunchfeature-branch复制但如果您已推送此分支,则需要执行几个额外步骤。我们需要从远程删除旧分支并推送新分支:gitpushorigin--deletefeature-

  • Java是编译执行的语言”这句话对吗?

    现在让你谈谈对Java平台的理解,你是否会感觉内容过于庞大?这个问题是比较宽泛的,Java发展到现在已经不仅仅是语言这么简单了,Java平台涉及的,包括但不仅限于下面提到的这些内容:Java语言本身,包括基础的语言特性,面向对象、放射、范型、lambda等等。Java类库,包括核心类库如IO/NIO、网络、utils、安全、jdk等,以及在生产环境中常用的第三方类库。Java虚拟机,包括java的内存管理机制、垃圾收集器、运行时、动态编译等Java/JVM生态,包括了JavaEE、Spring、Hadoop、Spark等等Java工具,包括用来诊断性能如jmap、jstack等、编译器javac、sjavac、以及辅助工具如jlink、jar等。这些内容无法在一个篇幅中都提到。本文从Java等基本特性开始,先来回答一个问题“Java是编译执行语言,这句话对吗?”,我们又该如何理解Java的“书写一次,到处执行”呢?Java语言本身最显著的两大特性是“书写一次,到处运行(WriteOnce,runanywhere)“,以及垃圾收集。这两点都和C++有明显的区别。”书写一次,到处运行“的能

  • AWS海外数据中心到腾讯云广州-文件传输对比评测集合

    近日,我们针对AWS海外各数据中心到腾讯云广州,做了一系列大文件传输对比评测。评测对比软件FTP传输方案:ftp客户端--FileZilla ftp服务端--FileZillaServer 软件下载地址:https://filezilla-project.org/index.php镭速传输方案:软件下载地址: Windows:https://www.raysync.cn/support_for_windows.html Linux:https://www.raysync.cn/support_for_linux.html评测结果如下传输客户端传输服务端FTP上传FTP下载镭速上传镭速下载测评结果内容链接美国(加州北)广州1.2MB/秒182.2KB/秒12.51MB/秒12.54MB/秒link巴西(圣保罗)广州458.8KB/秒33.6KB/秒12.39MB/秒12.54MB/秒link英国(伦敦)广州1.3MB/秒668.2KB/秒11.8MB/秒12.45MB/秒link爱尔兰广州1.1MB/秒91.2KB/秒12.54MB/秒12.54MB/秒link德国(法兰克福)广州189

  • 部署LVS高可用集群

    一、lvs+keepalived高可用集群部署案例需求部署基于LVSDR模式的web高可用集群,实现:实现数据服务器容错实现分发器故障切换任何机器宕机不中断web业务实验环境六台安装CentOS8的虚拟机一台测试机,两台LVS分发器,一台路由器,两台web服务器,关闭selinux关闭防火墙,停止libvirtd.service服务角色名称接口名称IP地址clientens33192.168.1.200routeens33,ens160192.168.1.1,192.168.2.1lvs1ens33192.168.2.200,192.168.2.100(VIP)lvs2ens33192.168.2.150,192.168.2.100(VIP)rs1ens33,lo:0192.168.2.220,192.168.2.100(VIP)rs2ens33,lo:0192.168.2.210,192.168.2.100(VIP)实验拓扑图实验步骤a、配置客户端ens33=192.168.1.200 [root@client~]#routeadddefaultgw192.168.1.1复制b、设置

  • 重温Python基础——数

    哈喽,兄弟们,本文带大家来复习一下Python基础中的数。 在编程中,经常会使用到数。在一些计算题中,或者其他的可视化数据等。Python能够根据不同用法处理它们 1、整数 在Python中可对整数执行加减乘除运算(+-*/),使用两个乘号表示乘方(**) a=3 b=4 print(a+b) print(a-b) print(a*b) print(a/b) print(a**b)复制   运行结果 7 -1 12 0.75 81复制   2、浮点数 Python将所有带小数的数成为浮点数。使用浮点数时无需考虑其行为。只需输入需要使用的数,Python通常会按照你期望的方式处理它们: a=3.5 b=4.9 print(a+b) print(a-b) print(a*b) print(a/b) print(a**b)复制   运行结果 8.4 -1.4000000000000004 17.150000000000002 0.7142857142857142 463.37587307179774复制

  • filebeat.yml(中文配置详解)

    filebeat.yml(中文配置详解)   ###################FilebeatConfigurationExample######################### #############################Filebeat###################################### filebeat: #Listofprospectorstofetchdata. prospectors: #Each-isaprospector.Belowaretheprospectorspecificconfigurations - #Pathsthatshouldbecrawledandfetched.Globbasedpaths. #Tofetchall".log"filesfromaspecificlevelofsubdirectories #/var/log/*/*.logcanbeused. #Foreachfilefoundunderthispath,aharvesterisstarted. #Makesureno

  • sql根据一个表数据修改另外一个表数据

    UPDATEwarehouseSETwarehouse.salesman_id=(SELECTsalesman_idFROMsalesman_warehouse_relWHEREwarehouse.id=salesman_warehouse_rel.warehouse_id)   UPDATEwarehouseSETwarehouse.salesman_id=(SELECTidFROMsalesmanWHEREwarehouse.id=salesman.warehouse_idANDsalesman.type=2)   https://blog.csdn.net/hcwbr123/article/details/105313934/ 现象:sql根据一个表数据修改另外一个表数据 方法:1、根据表tb_b设置表tb_a的date字段取值tb_b的pay_timetb_b对应tb_a为一对多的关系这里取值多条中的最大值 UPDATEtb_aaINNERJOINtb_bbONb.id=a.order_idSETa.date=(SELECTMAX(pay_time)FROM

  • javascript按字节截取标题中字符串

    在网页展示中经常会碰到,标题过长,需要截取字符串,用CSS的实现的话各种兼容问题,下面为大家介绍下javascript如何按字节截取字符串做为一个前端开发人员在网页展示中经常会碰到,标题过长,需要截取字符串,用CSS的实现的话各种兼容问题,各种坑。 让后台程序截一下,又各种推托,让后台按字节截一下更是和要了后台老命一样,最后可能只会安字符长度给你截一下,最后不好看,对不齐,还是回头整CSS、调兼容; 有以上有感触的前端同学默默点个赞吧。 最近接触一个项目,后台只提供接口(json),所有页面的数据渲染,数据绑定都都交给了前端。终于,不考虑SEO,页面所有的主动权到偶的手中了,不经意间就碰到字节截取老问题了。 一个Javascript简单获取字节长度的方法: String.prototype.Blength = function(){//返回字符串字节长度 return this.replace(/([^\x00-\xFF])/g, "aa").length; }; 确

  • 使用jupyter崩溃的问题:bad file descriptor

    问题描述:打开jupyter不会报错,但只要新建.ipynb文件,立马就出现以下错误       问题分析: 当你安装jupyterlab或者jupyternotebook的时候,会自动安装ipykernel,然后自动安装了高版本的pyzmq,此问题是pyzmq版本问题    解决办法:卸载pyzmq高版本,安装低版本19.0.2版 pipuninstallpyzmq pipinstallpyzmq==19.0.2--user   参考博客:https://blog.csdn.net/weixin_53396071/article/details/113782733?spm=1001.2014.3001.5501

  • 【原创】CPU性能优化小记

    CPU性能优化小记 目录CPU性能优化小记一、现象TOP各指标含义二、分析启动应用前启动应用后采集内核函数的方法内核采集分析火焰图分析三、解决 一、现象 业务线反馈,单板只要一跑我们的通讯软件appA,CPU就变得很高,即使没有任何通讯,空跑时CPU利用率同样的高,难得业务会关注CPU性能,好久没更新博客了,小记一下(又是debug一两天,最后改一行代码解决的问题o(╯□╰)o)。 启动appA前,top看一下CPU使用情况,如下,9%还算正常(有其他业务应用)。 Mem:49320Kused,202284Kfree,0Kshrd,0Kbuff,27420Kcached CPU:3.0%usr6.0%sys0.0%nic91.0%idle0.0%io0.0%irq0.0%sirq Loadaverage:1.792.792.981/861721 PIDPPIDUSERSTATVSZ%VSZCPU%CPUCOMMAND 17211376rootR22720.901.6top-d1 9171rootS3893615.401.1... 9081rootS3893615.400.5... 91

  • 使用Spy++根据广告\弹窗\窗口查杀进程

    首先下载Spy++,这是一个窗口监听器,我的网盘下载地址:https://pan.baidu.com/s/1aM8TlB4X4jmmA-408woq8g 然后点击启动程序 页面如下 然后靶子下面就会获取到窗口的信息,点击确定关闭窗口,信息就会显示到主窗口 然后把16进制转化为10进制 然后打开任务管理器,按照对应的PID找到对应进程 右键----->打开文件所在位置 然后要做的就是破坏这个文件,我选择删除,但是一般删不了,所以还需要下载强制删除的软件----->火绒,我的网盘下载地址:https://pan.baidu.com/s/1MCG99M5m7xzc7n_ZY9wfRw 找到拓展工具----->粉碎文件,把目标文件拖进去 完成了,没有哪个窗口可以逃得过如此查杀,就算立马消失,也可以保留其PID下次出来直接打开其位置,强制删除!

  • 解决com.aliyun.oss.OSSException: The difference between the request time and the current time is too large.

    说明:向阿里云桶上传图片的时候报错 com.aliyun.oss.OSSException:Thedifferencebetweentherequesttimeandthecurrenttimeistoolarge.[ErrorCode]:RequestTimeTooSkewed[RequestId]:[HostId]:****[ResponseError]:<?xmlversion="1.0"encoding="UTF-8"?><Error><Code>RequestTimeTooSkewed</Code><Message>Thedifferencebetweentherequesttimeandthecurrenttimeistoolarge.</Message><RequestId></RequestId><HostId>****</HostId><MaxAllowedSkewMilliseconds>900000</MaxAllowedSke

  • html自己写响应式布局(说起来很高大上的样子,但是其实很简单)

    第一步,打开电脑中安装的SublimeText3,新建demo文件夹用来存放文件,在里面新建一个HTML文件,通过Tab快捷键迅速创建一个HTML模板,并命名标题。 第二步,在Body标签里添加三个主DIV标签,分别表示头部,内容和底部。然后,在内容DIV内又添加三个子DIV,分别表示左边,中间,右边。并且给出对应的ID名。对应的代码如下:<body> <divid="header">头部</div> <divid="main">   <divid="main-left">内容-左边</div>   <divid="main-center">内容-中间</div>   <divid="main-right">内容-右边</div> </div> <divid="footer">底部</div></b

  • 央视新闻:随着我国三维地理信息技术的不断发展,在自然资源的管理监测、国土空间规划等方面的应用越来越深入。

    记者从中国地理信息产业协会了解到,随着我国三维地理信息技术的不断发展,与大数据、人工智能、5G以及区块链等新一代信息技术融合,在自然资源的管理监测、国土空间规划等方面的应用越来越深入。     地理信息技术是指在计算机硬、软件系统支持下,对整个或部分地球表层空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。 中国工程院院士、深圳大学智慧城市研究院院长郭仁忠:地理信息技术它最基本的能力就是对地理空间的一种表达,过去都是用两维的地图对地理空间进行表达的,现在随着现代技术的发展,三维的实景的(对)地理空间进行表达,相当于我们过去看到的这张地图,现在看到的就是我们生活和工作存在的一个真实的地理环境。 记者了解到,自然资源管理和监测与三维地理空间信息密不可分。立足第三次全国国土调查和新一轮国土空间规划工作,我国将加快推动建立统一的自然资源一张网、分布式的自然资源一张图和统一的国土空间基础信息平台。 自然资源部地理信息系统技术创新中心主任、中国地理信息产业协会副会长宋关福:比如说地下的矿产资源,那二维怎么描述它,我们这

  • Scrapy框架——安装以及新建scrapy文件

    一.安装 condainstallScrapy :之后在按y表示允许安装相关的依赖库(下载速度慢的话也可以借助镜像源),安装的前提是安装了anaconda作为python,  测试scrapy是否安装成功,在窗口输入scrapy回车 注意:我这是之前安装了anaconda 所以能直接这样下载  如果没有则需要自己一个一个下载依赖库和scrapy 但是可以借助豆瓣的镜像源来快速安装     格式:   pip install -ihttps://pypi.douban.com/simaple/ scrapy           二.创建scrapy项目的过程:   1.首先进入到你所要创建项目文件的路径下。cd ……    2.scrapystartproject项目(文件)名 ------这就是创建一个scrapy项目文件了           3.

  • Quartz.net基于数据库的任务调度管理(Only.Jobs)

    一前言: 各大调度组件优缺点在这就不讨论了,使用Quartz.net是因为它可以执行秒级任务。 Only.Jobs项目通过将各Job存储在数据库中,启动一个专门的Job管理任务来循环调度各Job的的调度情况。   项目分为Web管理系统 、服务运行端 、数据提供逻辑处理层  数据访问使用了 SqlSugar 4.1.1.5版本,目前支持MySql、SqlServer 采用Quartz.net+Topshelf 可安装为windows服务。   二项目结构: 一一介绍下: Only.Jobs.Items下是创建的测试Job项目。 Only.Jobs 是一个调度服务项目,集成了Topshelf,可安装成windows服务。 Only.Jobs.Core 是项目的核心层,对外提供数据操作。 Only.Jobs.Web为调度任务的管理和状态监控管理系统。 先来看下总体效果吧 运行Only.Jobs.Web项目:     在任务管理模块可停止、启用各Job.  

  • Python 基础实战 -- 小游戏之乌龟吃鱼(其实只能看不能玩.....)

    1importrandom 2importos 3importtime 4 5classFish(object): 6 7coord={} 8moveSpeep=0 9 10def__init__(self,posX,posY,moveSpeep=1): 11self.moveSpeep=1 12self.coord={"X":posX,"Y":posY} 13 14defmove(self,direction,scene=(10,10)): 15speep=random.randint(1,self.moveSpeep) 16 17whilenotdirection=="": 18ifdirection=="上": 19 20ifself.coord["Y"]-speep<0: 21direction="下" 22 23else: 24self.coord["Y"]=self.coord["Y"]-speep 25direction="" 26 27ifdirection=="下": 28 29ifself.coord["Y"]+speep>=scene[1]: 30di

相关推荐

推荐阅读