基于abp vnext制作项目脚手架

首先说明,尊重原创,本文是参考https://www.cnblogs.com/myshowtime/p/14507675.html这篇文章写的,里面内容有部分是直接拷贝过来的。感谢作者分享!!!

前期准备工作

使用命令 abp new LS.Template --template module --no-ui --version 4.3.0 创建基于abp vnext 4.3.0的项目。然后在这个解决方案的基础上,删除多余的东东,并加入自己团队的元素。

这部分不是本文重点,所以不做过多介绍。

模板项目位置

模板项目结构

构建模板

先在“\template\templates”目录下创建“.template.config”目录,具体命令为:mkdir .template.config ,

然后在该目录下添加“template.json”文件,具体内容为: 

{"$schema": "http://json.schemastore.org/template","author": "Ben","classifications": [ "Template" ],"name": "LS.Template","identity": "LS.Template", "shortName": "ls-template","tags": {"language": "C#" },"sourceName": "Template" 
}

上面是一些基本的描述信息,需要注意的是 "sourceName" 属性,它相当于一个变量,我们通过这个属性,可以创建LS.BaseInfo,LS.Trace这样的解决方案和项目。

另外,特别说明一点:如果我的模板项目是LS.Equipment,那么sourceName的值改为Equipment也是可以生成脚手架的。

打包模板

在“\template”目录下添加“template-pack.csproj”文件

具体内容为:

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><PackageType>Template</PackageType><PackageVersion>1.0.0</PackageVersion><PackageId>LS.Template</PackageId><Title>LS.Template</Title><Authors>Ben</Authors><Description>LS.Template</Description><PackageTags>dotnet-new;templates;LS.Template</PackageTags><TargetFramework>netstandard2.1</TargetFramework><IncludeContentInPack>true</IncludeContentInPack><IncludeBuildOutput>false</IncludeBuildOutput><ContentTargetFolders>content</ContentTargetFolders><NoWarn>$(NoWarn);NU5128</NoWarn></PropertyGroup><ItemGroup><Content Include="templates\**\*" Exclude="templates\**\bin\**;templates\**\obj\**;templates\.git" /><Compile Remove="**\*" /></ItemGroup>
</Project>

我们指定了程序包的基础信息,版本ID, 描述信息,包含了 templates 文件夹下的所有文件,然后排除了 bin\ 和 obj\ 文件夹的dll文件。

运行 dotnet pack 命令进行打包, 你可以在 /bin/debug/ 文件夹找到 生成的 nupkg 文件

推送到Nuget服务器

从网上下载一个nuget.exe文件,放在 /template 目录下,我的nuget.exe的版本是:5.6.0

然后执行以下命令,输入账号、密码,将代码推送到nuget仓库:

nuget.exe push bin/debug/LS.Template.0.1.0.nupkg ben111 -Source http://192.168.3.222:8081/repository/nuget-hosted/ 

说明:我的nuget仓库是使用nexus搭建的。上面命令中的ben111相当于是这个仓库的key,这么理解就可以了。不加也没关系,我的另一篇文章有说明。linux下 docker + nexus 搭建.net core能使用的nuget服务器

下面看下效果:

安装模板

安装前,你的nuget包源,必须事先添加了自己的nuget仓库地址,不然无法安装。

至于如何添加nuget包源,有2种方式,第一种是在vs2019 nuget包管理器里面添加;第二种是通过dotnet nuget命令添加。

在终端中运行  dotnet new --install LS.Template  命令安装,安装成功后,应该可以看到下边的输出,里边包含了我们的自定义模板。

或者使用 dotnet new --list 命令查看,没问题的话,列表里面应该会有。

使用模板

运行  dotnet new LS.Template --name=BaseInfo ,--name 指定了变量值,它会自动帮我们生成 BaseInfo 项目,这很棒!牛逼!

至此,大功告成。概括一下:

打包: dotnet pack 

推送: nuget.exe push bin/debug/LS.Template.0.1.0.nupkg ben111 -Source http://192.168.3.222:8081/repository/nuget-hosted/ 

安装: dotnet new --install LS.Template 

使用: dotnet new LS.Template --name=BaseInfo 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302061.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows Server 2012 DHCP 服务器中的新功能:故障转移和策略

Windows Server 2012 DHCP 服务器中的新功能如下&#xff1a; DHCP 故障转移&#xff1a;此功能提供让两个 DHCP 服务器服务于 同一子网或作用域的 IP 地址和选项配置的能力&#xff0c;前提是 DHCP 服务对客户端持续可用。两个 DHCP 服务器复制它们之间的租用信息&#xff0c;…

android mvc mvp 简书,浅析 MVP,MVC,MVVM模式(Android)

前言当我们接手一个项目的时候&#xff0c;经常会发现一个activity或fragment动辄上千行甚至上万行代码&#xff0c;这给阅读带来很大的困扰&#xff0c;如果想读懂代码&#xff0c;需要花费很多时间跟精力。引起这个问题的原因想必大家都了解&#xff0c;随着人员不断变动&…

android studio插入数据表中没有_学Java能拿高薪吗 Java中常见排序算法有哪些

学Java能拿高薪吗&#xff1f;Java中常见排序算法有哪些&#xff1f;作为老牌编程语言&#xff0c;Java拥有广阔的市场占有率&#xff0c;几乎90%以上的大中型互联网应用系统在服务端开发都会首选Java。为了加入到Java这一高薪行业&#xff0c;很多人会选择专业学习一下&#x…

最全知识点总结!| 大数据学习路线指南

全世界只有3.14 % 的人关注了数据与算法之美大数据是对海量数据进行存储、计算、统计、分析处理的一系列处理手段&#xff0c;处理的数据量通常是TB级&#xff0c;甚至是PB或EB级的数据&#xff0c;这是传统数据处理手段所无法完成的&#xff0c;其涉及的技术有分布式计算、高并…

欢迎来到开源的世界!

✉️ 请查收您的保姆级开源百科编程导航 致力于推荐优质编程资源 ????项目开源仓库&#xff1a;https://github.com/liyupi/code-nav跪求一个 star ⭐️大家好&#xff0c;我是鱼二&#xff0c;今天推荐一份开源知识入门的在线电子书《开源指北》。正如官方对这本书的描述&…

html图片宽度高度等比例绽放,css图片自动绽放大小,左右,上下居中

无标题页.pic{max-height:400px;max-width:400px;_width:expression("400px");_height:expression((document.documentElement.clientHeight||document.body.clientHeight)>400?"400px":"");/*_width:expression((document.documentElement.…

归纳推理测试没做完_朋友买了1斤紫菜,2年还没吃完,我教他这样做,2个月就吃完了...

朋友买了1斤紫菜&#xff0c;2年还没吃完&#xff0c;我教他这样做&#xff0c;2个月就吃完了紫菜成熟啦&#xff0c;这段时间回老家&#xff0c;都会看到紫菜养殖户脸上挂着笑容&#xff0c;因为今年的紫菜收成还不错。回家就为了拿紫菜&#xff0c;因为紫菜成熟的季节&#x…

机器学习都需要有哪些数学知识?

随着科技的快速发展&#xff0c;人工智能的重要性日渐显现。机器学习是一个异常丰富的研究领域&#xff0c;有大量未解决的问题&#xff1a;公正、可解释性、易用性。如同所有的学科一样&#xff0c;它的基本思想不是请求式的过程&#xff0c;而是需要耐心地用高级数学框架思考…

html5伸缩效果,【HTML5】Jquery打造竖向伸缩/展开菜单

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼效果图如下&#xff1a;jquery打造竖向伸缩/展开菜单body { font-family: Arial; font-size: 16px; }dl { width: 300px; }dl,dd { margin: 0; }dt { background-color:#ae8758; background-image:url(/jscss/demoimg/201207.png);…

看过这么多爆文,依旧走不好异步编程这条路?​

点击蓝字关注我们本文带大家抓住异步编程async/await语法糖的牛鼻子: SynchronizationContext。引言 C#异步编程语法糖async/await&#xff0c;使开发者很容易就能编写异步代码。零散看过很多文章&#xff0c;很多是填鸭式灌输 (有的翻译文还有偏差)。遵守以上冷冰冰的②③条的…

Android获取设备已安装的应用

2019独角兽企业重金招聘Python工程师标准>>> 项目中&#xff0c; 我们经常要用到显示系统已安装的应用&#xff0c; 可以通过两种方式获取已安装的应用&#xff0c; 一种是通过ApplicationInfo, 一种是通过ResolveInfo. 这里用的是ResolveInfo, 上代码。 <!-- la…

如何讲页面打入jar包中_如何把我的Java程序变成exe文件?

JAVA是一种“跨平台”的语言&#xff0c;拥有“一次编写&#xff0c;处处运行”的特点&#xff0c;让它成为当今IT行业&#xff0c;必不可少的一门编程语言。每一个软件开发完成之后&#xff0c;应该大家都需要打包程序并发送给客户&#xff0c;常见的方式&#xff1a;java程序…

Api网关Kong集成Consul做服务发现及在Asp.Net Core中的使用

&#xfeff;1622219047536写在前面Api网关我们之前是用 .netcore写的 Ocelot的&#xff0c;使用后并没有完全达到我们的预期&#xff0c;花了些时间了解后觉得kong可能是个更合适的选择。简单说下kong对比ocelot打动我的&#xff1a;1、kong可以直接代替Nginx/OpenRestry做前端…

女生学高铁和计算机哪个更好,2020铁路最好的5个专业 女生上铁路学什么专业好...

铁路专业一直是比较受欢迎的&#xff0c;有些同学都想学习铁路专业&#xff0c;应为一旦找到和铁路相关的工作&#xff0c;工资待遇都是非常好的&#xff0c;但是铁路里面也不是所有的专业都非常好&#xff0c;那么铁路里面最好的专业有哪些呢&#xff1f;女生适合学习铁路的哪…

裤子换裙子,就问你GAN的这波操作秀不秀

全世界只有3.14 % 的人关注了数据与算法之美把照片里的绵羊换成长颈鹿、牛仔长裤换成短裙。听起来有点不可思议&#xff0c;但韩国科学技术院和浦项科技大学的研究人员目前已实现了这一骚操作。他们开发的一种机器学习算法可在多个图像数据集上实现这种操作。其论文《InstaGAN:…

Windows UI风格的设计(11)

转载于:https://blog.51cto.com/8382359/1342271

教之初计算机考试函数应用题,教之初计算机考试系统

教之初计算机考试系统官方版是一款发布长达12年之久的免费考试系统软件&#xff0c;已经有数千万次使用的软件。教之初考试系统是专业的考试软件&#xff0c;您所考虑的功能&#xff0c;教之初都已经非常贴心地替您想好&#xff0c;如果您发现需要的功能并不存在&#xff0c;那…

这里聚集了优秀的数学老师、家长,有超多惊喜在等你!

全世界有3.14 % 的人已经关注了数据与算法之美今天的这篇文章&#xff0c;是向大家推荐一个数学公众号“少年数学家”。“少年数学家”是一个致力为数学老师与家长&#xff0c;提供丰富的数学课外知识、数学人物、数学趣谈、科技与数学的公众号&#xff0c;希望通过这些万物背后…

librosa能量_语音MFCC提取:librosa amp;amp; python_speech_feature(2019.12)

最近在阅读语音方向的论文&#xff0c;其中有个被提及很多的语音信号特征MFCC(Mel-Frequency Cepstral Coefficients)&#xff0c;找到了基于python的语音库librosa(version0.7.1)和python_speech_features(version0.6)&#xff0c;下文对这两个库计算MFCC的流程细节稍作梳理。…

Uno 平台 一 WinUI终极跨平台方案(一)

以下是 Uno 平台的官方介绍&#xff1a;关于 Uno 平台Uno平台能够创建像素级完美的&#xff0c;只通过C#XAML编写的应用程序&#xff0c;能够跨平台运行在Windows&#xff0c;iOS&#xff0c;安卓&#xff0c;macOS&#xff0c;Linux和Web上&#xff0c;Uno 平台是免费和开源的…