Fork me on GitHub

.Net项目模板(Project Template)

 

 

 

  你有没有这样的感觉,开启一个新项目时,总是做一堆体力活——项目的结构层次,常用日志库,OpenAPI库,ORM库,的引入,权限认证方式选择添加,配置文件重新归置存放等等。公共框架的部分总是不变的,如果有个常用项目的模板就好了,可以一键创建,接下来直接写业务就ok了。

  这种场景还适合一些公司对源码,项目,技术都有严格的要求,这时模板也能带来便利性。

  Project Template在.Net中是很好的支持的,并且实现自己的模板也不是那么困难。


  先来个开胃菜吧,安装完.net(core)的sdk后,可以在命令行上查看自己的现有项目模板。

 

命令:

> dotnet new -l

结果:

 

 

 

  我们的目标是把自己的项目模板添加到这个列表里,然后用dotnet new 命令可以创建我们的项目了。

  具体步骤:

  1、创建一个控件台项目,命名GSWCon,这时,就可以整理自己的项目层次和添加自己想的三方库了。这里为了区分官方,只对输出作了少许改变。

using System;
using Newtonsoft;
using Newtonsoft.Json;
using static System.Console;

namespace GSWCon
{
    class Program
    {
        static void Main(string[] args)
        {
            var template = new Template
            {
                Name = "GSWCon",
                Author = "桂素伟",
                Description = "第一个项目模板,控制台项目,引入了Newtonsoft库!",
                CreateTime = DateTime.Parse("2021-04-06 08:00:00")
            };
            WriteLine(JsonConvert.SerializeObject(template, Formatting.Indented));
        }
    }

    class Template
    {
        public string Name { get; set; }
        public string Author { get; set; }
        public string Description { get; set; }
        public DateTime CreateTime { get; set; }
    }
}

  2、添加Template文件,在项目目录下(与csproj在一个目录下)创建.template.config文件夹,并且在这个文件夹中添加template.json文件,内容如下:

{
  "$schema": "http://json.schemastore.org/template",
  "author": "GuiSuWei",
  "classifications": [ "Common", "Console","GuiSuWei"],
  "identity": "GSW Console",
  "name": "GSW Console",
  "shortName": "GSWCon",
  "tags": {
    "language": "C#",
    "type": "project"
  },
  "sourceName":"GSWCon"
}

  关于template.json文件的描述详情,可参考http://json.schemastore.org/template,基本名称就代码了它的含义。

  template.json文件就是对项目模板的配置,其中的sourceName就是项目名称,当我用这个项目生成自己的项目时,这个名称会换成自己定义的项目名称。

  3、生成项目模板,用cmd(终端),进入项目文件,删除bin,obj文件夹(如果存在),然后执行命令:dotnet new -i ./,这里就会看到自己的模板添加到了本地模板库里了,结果如下:

 

 

  4、测试模板,创建自己的项目,假如项目名称叫ABC,那就创建一个文件夹ABC,cmd(终端)进入该文件夹,执行命令:dotnet new GSWCon,就会看到创建一个新的控制台项目,打开项目,项目里所有的GSWCon都会替换成ABC,代码和模板中的Program.js里的代码是一样的(GSWCon会被换成ABC)。

  四步就完成了一个项目模板的创建和测试,这里只是一个极简的例子,真正的模板项目要复杂的多,后续慢慢加大难度。

 

  想要更快更方便的了解相关知识,可以关注微信公众号 
 

 

 

posted @ 2022-02-04 16:04  桂素伟  阅读(221)  评论(0编辑  收藏  举报