基于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;其涉及的技术有分布式计算、高并…

数组 边界 检查的几种实现方法

检查传递给函数的数组边界常用方法1.传递指向数组第一个和最后一个元素的下一个位置的指针。2. 将第二个形参定义为表示数组的大小3.数组本身放置一个检测位三种实现方法&#xff1a;#include<iostream> using namespace std; int sumArray(const int *beg,const int *e…

欢迎来到开源的世界!

✉️ 请查收您的保姆级开源百科编程导航 致力于推荐优质编程资源 ????项目开源仓库&#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;而是需要耐心地用高级数学框架思考…

(转)64bit上安装32位oracle 10 g出现错误:无法定位承诺工序输入点 getprocessimagifilenamew 于动态链接库PSAPI.DLL...

转自http://jonelove00.iteye.com/blog/1685206安装时以最高管理员身份运行&#xff1a;红色字体为自己加上去的代码找到..\database\stage\prereq\db\refhost.xml打开加入<OPERATING_SYSTEM> <VERSION VALUE"6.1"/></OPERATING_SYSTEM> 再找…

10kv电压互感器型号_电压互感器型号大全

电压互感器简介电压互感器(Potentialtransformer简称PT&#xff0c;Voltagetransformer也简称VT)和变压器类似&#xff0c;是用来变换线路上的电压的仪器。但是变压器变换电压的目的是为了输送电能&#xff0c;因此容量很大&#xff0c;一般都是以千伏安或兆伏安为计算单位&…

C# 常用接口学习 IEnumerableT

我们先去看看公开的.Net4.0的源程序中IEnumerable<T>、IEnumerable、IEnumerator<T>和IEnumerator这四个接口是如何声明的&#xff1a;需加微信交流群的&#xff0c;请加小编微信号zls20210502&#xff0c;切记备注 加群&#xff0c;小编将会第一时间邀请你进群&am…

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);…

labelme 语义分割数据集_labelme安装以及使用教程——自制语义分割数据集(保姆级示范)...

前言&#xff1a;这次我们要做的是一个物堆(也可以是沙、矿堆之类)的数据集&#xff0c;用于语义分割。我们的工作&#xff0c;就是要使用labelme工具&#xff0c;利用原图1.jpg生成它的标签图片1.png&#xff0c;得到的最终结果像下面这样&#xff1a;1. 安装 Anaconda3具体安…

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

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

用html制作篮球网页,篮球网站的设计与实现).doc

篮球网站的设计与实现)篮球网站的设计与实现摘要关键词AbstractBasketball net is an introductory history of basketball, basketball to promote the development and understanding of the status quo of modern basketball, the website with news, pictures, mainly. Inc…

Android获取设备已安装的应用

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

html按钮圆弧样式,几款不错的按钮样式汇总

几款不错的按钮样式汇总在网页设计中按钮一般默认的都比较“丑”&#xff0c;能不能通过一些好的样式来设计呢&#xff0c;下面提供几款不错的按钮样式&#xff0c;希望对大家有所帮助。一、带图标的按钮按钮样式截图按钮样式代码如下&#xff1a;/* CSS Document *//* BUTTONS…

如何讲页面打入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做前端…