应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

.net core自定义项目模板,创建自己的模板项目,使用命令行创建模板项目

394人阅读 2025/3/4 20:29 总访问:5199249 评论:4 收藏:0 手机
分类: 软件架构


项目模板非常有用,可以将日常积累的功能合并在模板中,不断的封装,不断的完善,可以避免项目开发中重复造轮子,提高开发效率,需要的时候可以一条命令创建即可。

一:搭建好需要创建项目模板的架子

比如可以把我们前面搭建的领域驱动的基础架构做成一套模板,然后在里边不断的封装,不断的完善,方便后边使用

二:创建模板配置文件,并且设置好相关的配置

在项目根文件夹中创建文件夹:.template.config 并在目录下创建 template.json 。如下图:

在项目模板配置文件中添加好相关配置信息

  1. {
  2. "author": "AJ", //作者,必须
  3. "classifications": [ "Web/WebAPI" ], //必须,这个对应模板的Tags
  4. "name": "ASP.NET Core 领域驱动基础模板", //必须,这个对应模板的Templates,支持中文
  5. "identity": "AJCoreAbpTemplate", //可选,模板的唯一名称
  6. "shortName": "AJCoreAbpTmp", //必须,这个对应模板的Short Name(短名称)
  7. "tags": {
  8. "language": "C#" ,
  9. "type":"project"
  10. },
  11. "sourceName": "TeacherCertification", // 可选,要替换的名字,一般这里都填写原始项目的名称,才好修改嘛,不然模板下载下来还是原来项目的名称
  12. "preferNameDirectory": true // 可选,添加目录
  13. }

sourceName配置的时候要注意,要选择合适的替换文本,不然容易误伤代码,一般这里都填写原始项目的名称,后面使用命令创建的时候就会自动替换项目名称,以及类里边的名称空间这些。

三:安装项目模板

在项目根目录外层执行命令即可:

  1. dotnet new install TeacherCertificationAPI

安装的时候要注意路径,不是在项目目录中去执行命令

比如在项目目录中去执行安装命令的话,会提示未找到任何模板

正确的做法应该在外层,而且名称要和项目文件夹的名称一致

模板安装成功,可以看到我们刚刚配置的模板名,短名称等

使用命令查看目前所有的模板情况

  1. dotnet new list

卸载项目模板:

命令如下

  1. dotnet new uninstall TeacherCertificationAPI

同样要注意一下执行命令的目录位置,和安装模板的时候一样

四:使用项目模板

项目模板制作好了,我们就可以使用项目模板了,这样我们在新建一个项目的时候就可以很方便了,不用去复制一份还要挨着进行一个项目一个项目的重命名。

使用命令行创建项目

命令:

  1. dotnet new AJCoreAbpTmp -n WaterTapCollection -o .
  • AJCoreAbpTmp:是模板配置文件中指定的shortName(短名称)。
  • -n:将项目中出现的所有文本TeacherCertification替换为WaterTapCollection,因为配置中sourceName是TeacherCertification,可按需配置。其实就理解为新项目名称即可,原理就是根据模板配置中的替换实现的。
  • -o:指定的是生成项目输出目录,上述命令生成项目输出到当前目录。

使用命令创建的项目模板如下:
效果还是很不错的,名称这些都弄好了

而且创建的模板体积比原项目更小,应该是去掉了一些编译的内容,更方便于新项目的开发。

五:模板项目进阶用法

待续

六:把项目模板发布到nuget

待续


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

尘叶心繁

2025/3/5 16:25:34

可以可以讲真的我都想弄个模板

剑轩:@尘叶心繁是哇,可以慢慢把各种有用的内容组件什么的集成进去慢慢积累,后面起项目的时候就快很多,现在网上很多开源的架构就慢慢收费了,或者就是各种限制,准备自己搭一套架构慢慢完善,一起来搞哇,我一个人时间精力有限。

2025/3/6 9:47:10 回复

尘叶心繁:@剑轩发个链接

2025/3/6 14:38:40 回复

剑轩:@尘叶心繁周末嘛,我讲一下,我已经封装了一些东西了,前后端一套,这个月太忙了要赶一个项目上线没有什么时间搞了

2025/3/6 14:50:59 回复

net core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

.net mvc分部页.net core分部页

.net分部页的三种方式第一种:@Html.Partial("_分部页")第二种:@{ Html.RenderPartial("分部页");}...

StackExchange.Redis操作redis(net core支持)

官方git开源地址https://github.com/StackExchange/StackExchange.Redis官方文档在docs里边都是官方的文档通过nuget命令下...

.net core 使用session

tip:net core 2.2后可以直接启用session了,不用在自己添加一次session依赖,本身就添加了使用nuget添加引用Microsoft.AspN...

通俗易懂什么是.net?什么是.net Framework?什么是.net core?

朋友圈@蓝羽 看到一篇文章写的太详细太通俗了,搬过来细细看完,保证你对.NET有个新的认识理解原文地址:https://www.cnblo...

asp.net core2.0 依赖注入 AddTransient与AddScoped的区别

asp.net core主要提供了三种依赖注入的方式其中AddTransient与AddSingleton比较好区别AddTransient瞬时模式:每次都获取一...

.net core 使用 Kestrel

Kestrel介绍 Kestrel是一个基于libuv的跨平台web服务器 在.net core项目中就可以不一定要发布在iis下面了Kestrel体验可以使...

net core中使用cookie

net core中可以使用传统的cookie也可以使用加密的cookieNET CORE中使用传统cookie设置:HttpContext.Response.Cookies.Appe...

net core项目结构简单分析

一:wwwrootwwwroot用于存放网站的静态资源,例如css,js,图片与相关的前端插件等lib主要是第三方的插件,例如微软默认引用...

net core使用EF之DB First

一.新建一个.net core的MVC项目新建好项目后,不能像以前一样直接在新建项中添加ef了,需要用命令在添加ef的依赖二.使用Nug...

.net core使用requestresponse下载文件下载excel等

使用request获取内容net core中request没有直接的索引方法,需要点里边的Query,或者formstringbase64=Request.Form["f...

iframe自适应高度与配合net core使用

去掉iframe边框frameborder="0"去掉滚动条scrolling="no"iframe 自适应高度如果内容是固定的,那么就...

net core启动报错Unable to configure HTTPS endpoint. No server certificate was specified

这是因为net core2.1默认使用的https,如果使用Kestrel web服务器的话没有安装证书就会报这个错其实仔细看他的错误提示,其...

net core中使用url编码与解码操作

net core中暂时还没有以前asp.net与mvc中的server对象。获取url的编码与解码操作不能使用以前的server对象来获取。使用的是...

下载net core

官方下载地址:https://dotnet.microsoft.com/download 进来之后就可以看到最新的下载版本可以直接点击下载,也可以下载其...

net core使用依赖注入来装载EF的上下文对象

妹子情人节快乐~.net core中用了不少的依赖注入,官方文档中也推荐使用。这样使用依赖注入来管理ef对象,还是比较科学,比如...