幸运蛋蛋pc开奖
这篇文章主要给大家介绍了关于ASP.NET如何自定义项目模板的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

前言

在微服务架构盛行的时代,一言不合就新建一个服务,虽然搭建服务并没什么?#35759;齲?#20294;不可避免的是每个人搭建出来的架子会存在差异,这很合理,因为每个开发者的个人风格、工作都不一样,难免认为自?#21512;不?#30340;才是最好的。另一方面,如果需要较频繁搭建服务,这些重复而没?#35759;?#30340;操作就显得浪费时间,而且每次手动处理总可能存在一些细节上的失误,出现异常然后花时间解决更得不偿失。

面对以上一些问题,拥有一个符合自己团队的项目模板就显得比较重要了,这篇文章主要介绍在 ASP.NET 如果自定义项目模板。

内置的项目模板

在 VS 中,新建项目时我们都需要先选项目类型,这些类型选项本质上是内置的项目模板,不同类型对应不同的项目代码结构。

通过命令查看当前有的项目模板:

dotnet new -h

以上是内置的一些项目模板,如 console 、 classlib 、 mvc 、 webapi 等应该都是平时使用比较多的。

创建项目模板

搭建项目 ( 这里是只是 Demo 例子,?#23548;?#26681;据自己的项目要求自定义项目结构 )


    新建一个 .NET Core Web API 项目(DemoService.API) 和 .NET Standard 类库(DemoService.Core); DemoService.API 引用 DemoService.Core; DemoService.API 添加 Swashbuckle.AspNetCore 生成 Swager 文档的引用; DemoService.Core 添加 ServiceStack.OrmLite.SqlServer 数据库操作的 ORM 库引用;

这一步和搭建普通的项目没任何区别,搭建完成后可测试看看效果。

添加模板配置

在解决方案 .sln 所在的目录下创建模板配置文件夹 .template.config ,并在 .template.config 文件夹下创建 template.json 文件,编辑 template.json ,输入以下配置:

{
"$schema": "http://json.schemastore.org/template",
"author": "Me",
"classifications": [ "micro", "webapi" ], 
"identity": "DemoService",
"name": "DemoService",
"shortName": "swa",
"tags": {
"language": "C#",
"type": "project" 
},
"sourceName": "DemoService", 
"preferNameDirectory":"true"
}

配置?#24471;鰨?/p>

    author:模板作者,必填 classifications:模板分类,必填 name:模板名称,当使用 dotnet new 创建项目时,指定的模板名称,必填 identity:模板唯一名称,可选 shortName:模板简短名称,必填 tags:模板标签 sourceName:指定一个字符串,当使用 dotnet new 带 -n 参数时,-n 参数的值会替换 sourceName 指定的字符串。 preferNameDirectory:是否生成相同名称的目录,可选。

安装模板

dotnet new -i <PATH> // 当前目录下:dotnet new -i .\

从模板创建项目

模板安装成功后,我们可以通过 dotnet new 创建新项目,在存放新项目的目录下执行如下命令:

dotnet new swa -n UserService

swa 为 DemoService 的 shortName , -n 后的 UserService 将替换 DemoService 名,这样一条命令 UserService 服务的基础架子就好了。

参考链接

    创建项目模板 ProjectTemplateSmaple 源码

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对爱安网的支持。

最新资讯
瑞幸高管解读财报:合伙人模式反馈很好 数据还需时间

瑞幸高管解读财报:合

瑞幸咖啡11月13日公布了截至9月30日的2019年第三季度
傅盛:猎户星空签署B轮融资协议 11月底完成交易

傅盛:猎户星空签署B轮

猎豹移动董事长兼CEO傅盛宣布,在第三季度,猎户星空和外
让利30亿,斥1亿成立电商公司 董明珠在下什么大棋?

让利30亿,斥1亿成立电

很少进行价格战的格力,在双11中高调让利30亿元进行促销
腾讯高管解读三季度财报:游戏开发能力被消费者认可

腾讯高管解读三季度财

财报显示,腾讯第三季度营收972亿元,同比增长20.6%;第三季
16寸屏苹果MacBook Pro终于发布:屏幕大了 键盘改进

16寸屏苹果MacBook Pr

苹果公司刚刚正式推出了16英寸MacBook Pro,没有发布会,
16寸苹果MacBook Pro上手:它大了 也强了

16寸苹果MacBook Pro

这产品是2016年MacBook Pro大?#30446;?#20043;后的第一次重大升
最新文章
.NET生成水印更好的方法实例代码

.NET生成水印更好的方

这篇文章主要给大家介绍了关于.NET中生成水印更好的方
ASP.NET如何自定义项目模板详解

ASP.NET如何自定义项

这篇文章主要给大家介绍了关于ASP.NET如何自定义项目
.NET生成动态验证码的完整步骤

.NET生成动态验证码的

这篇文章主要给大家介绍了关于.NET生成动态验证码的完
ASP.NET Core MVC学习之视图组件(View Component)

ASP.NET Core MVC学习

这篇文章主要给大家介绍了关于ASP.NET Core MVC学习之
你应该知道的.NET错误与异常处理机制

你应该知道的.NET错误

这篇文章主要给大家介绍了关于.NET错误与异常处理机制
WCF中使用nettcp协议进行通讯的方法

WCF中使用nettcp协议

这篇文章主要给大家介绍了关于WCF中使用nettcp协议进
幸运蛋蛋pc开奖 水果拉霸投注技巧 做银行客户经理赚钱吗 快三彩票网站哪个最正规 贵州快三开奖结果等 三公出千最简单的方法 游戏下载 幸运飞艇滚雪球7码必中 百家樂赌场里赌庄闲和的规则 网球比分网即时比分90 梦幻千炮捕鱼外挂