栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

构建.NET CLI 项目脚手架

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

构建.NET CLI 项目脚手架

文章目录
  • 简介
  • 第一步
    • 创建一个解决方案里面放上自己需要的项目,并且已经将功能开发完成了(基建功能)
  • 第二步 创建模板目录和配置文件
    • 打开powershell命令
    • 上传到nuget网站上的,等待审核通过
  • 安装
    • 下一步就是打开你的vs,在最底下你能看到我得模板 是一堆?????,是因为我的中文编码问题导致的 哈哈

上一篇介绍了如何创建项目模板,接下来介绍一下如何创建脚手架,动态生成项目所需要的代码,这样有利于公司内部的代码结构统一,并且能够减少重复性工作。

简介

NET 命令行接口 (CLI) 工具是用于开发、生成、运行和发布 .NET 应用程序的跨平台工具链。

本次主要介绍的是 dotnet new 命令,可以通过这个命令创建我们的自定义模板,我们安装完.NET SDK后,本身自带了一些项目模板,可以通过 dotnet new --list 查看已经安装的模板。

第一步 创建一个解决方案里面放上自己需要的项目,并且已经将功能开发完成了(基建功能)

如下图(我这就随便放了几个,注意这个关键词 Template很重要,一定要统一)

第二步 创建模板目录和配置文件

在项目所在的目录创建一个.template.config文件夹,内部创建template.json文件,文件内的语法如下

文件内容如下

{
  "$schema": "http://json.schemastore.org/template",
  "author": "iml6yu",
  "classifications": [ "webapi", "iml6yu" ],
  "name": "一个测试模板",
  "identity": "iml6yu.test.tmp",
  "shortName": "itt",
  "tags": {
    "language": "C#",
    "type": "project"
  },
  "sourceName": "Template",
  "preferNameDirectory": true 
}

文件目录结构如下(.template.config中式template.json文件)

#第三步 打包
在目录外层创建一个templates文件夹将之前的所有内容都包裹起来,然后再创建一个package.csproj文件
如下图

文件内容如下



  
    Template
    1.0.0-bate22031401
    iml6yu.test.template
    一个测试模板
    iml6yu
    这是一个测试的dotnet项目模板
    dotnet-new;templates;contoso
    netstandard2.0

    true
    false
    content
    favorite_64.png
     
    true
  

  
    
    
  

  
    
      True
      
    
  


打开powershell命令

写在前面,这里你要注意上一步的文件中涉及到包id,不要原封不动啊,这个包id nuget是不允许重复的
在此目录打开powershell命令,输入
dotnet pack

打包完成,你会在bin – debug 目录中扎到

上传到nuget网站上的,等待审核通过 安装

当上一步审核通过后,通过如下命令进行安装

dotnet new --install 你的包名

如果步只想用一下我的试试,可以这样写

dotnet new --install iml6yu.test.template
下一步就是打开你的vs,在最底下你能看到我得模板 是一堆?????,是因为我的中文编码问题导致的 哈哈

你也可以使用命令创建

 dotnet new itt --name=Shabi

创建后的效果

剩下的就是熟悉的开发工作了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955416.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号