ASP.NET如何自定义项目模板详解
 更新时间:2019年08月05日 08:27:42   投稿:daisy  

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

前言
在微服务架构盛行的时代,一言不合就新建一个服务,虽然搭建服务并没什么难度,但不可避免的是每个人搭建出来的架子会存在差异,这很合理,因为每个开发者的个人风格、工作经验都不一样,难免认为自己喜欢的才是最好的。另一方面,如果需要较频繁搭建服务,这些重复而没难度的操作就显得浪费时间,而且每次手动处理总可能存在一些细节上的失误,出现异常然后花时间解决更得不偿失。
面对以上一些问题,拥有一个符合自己团队的项目模板就显得比较重要了,这篇文章主要介绍在 ASP.NET 如果自定义项目模板。
内置的项目模板

在 VS 中,新建项目时我们都需要先选项目类型,这些类型选项本质上是内置的项目模板,不同类型对应不同的项目代码结构。
通过命令查看当前有的项目模板:

dotnet new -h

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

搭建项目 ( 这里是只是 Demo 例子,实际根据自己的项目要求自定义项目结构 )

新建一个 .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”: “json.schemastore.org/template”,
“author”: “Me”,
“classifications”: [ “micro”, “webapi” ],
“identity”: “DemoService”,
“name”: “DemoService”,
“shortName”: “swa”,
“tags”: {
“language”: “C#”,
“type”: “project”
},
“sourceName”: “DemoService”,
“preferNameDirectory”:”true”
}

配置说明:

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 源码

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

您可能感兴趣的文章:C#设计模式之Template模板方法模式实现ASP.NET自定义控件 密码强度检测功能

asp.net
自定义
模板

相关文章
ASP.NET操作Word的IIS权限设置检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。 2011-02-02
ASP.NET访问共享文件夹的详细步骤这篇文章主要介绍了ASP.NET访问共享文件夹的详细步骤,有需要的朋友可以了解一下。 2016-10-10
asp.net HTML文件上传标签需要在要目录下新建两个目录:upfile和upimg
添加一个FileUpload控件.一个Button.一个Image.一个Label 2008-12-12
.NET c# 单体模式(Singleton).NET c# 单体模式(Singleton)… 2007-12-12
asp.net(c#)网页跳转七种方法小结在asp.net下,经常需要页面的跳转,下面是具体的几种方法。跳转页面是大部编辑语言中都会有的,正面我们来分别介绍一下关于.net中response.redirect sever.execute server.transfer 三种页面跳转的方法 2009-11-11
使用FlashPaper在线转换.doc为.swfFlashpaper的使用相信大多数人都知道,这里的Demo是用于在线转换 .doc文件转换为 .swf的flash文件。 2011-02-02
.NET Core如何进行请求转发的实现这篇文章主要介绍了.NET Core如何进行请求转发的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 2020-11-11
合并网页中的多个script引用实现思路及代码为了更好的进行封装,每个实现不同功能的js代码应该有自己的js文件,这样如果一个网页中引用了多个js文件会很难管理,所以就出现了合并js这以说,感兴趣的朋友不妨参考下本文希望对你有所帮助 2013-02-02
DotNet2.0 生成网站的测试 2008-02-02
用程序修改IIS目录的Asp.Net版本目前已经有很多介绍创建IIS虚拟目录的文章了,我个人也翻译过一篇 2007-04-04

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。