构建自己的.NET CLI 项目脚手架(一个自己的 脚手架命令工具)

本文档详细介绍了如何使用.NET命令行接口创建自定义项目模板,包括创建解决方案、配置template.json、打包发布到NuGet以及在VS中使用模板的步骤。通过此过程,可以实现公司内部代码结构的统一,提高开发效率。
摘要由CSDN通过智能技术生成

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

简介

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文件
如下图
在这里插入图片描述
文件内容如下

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <PackageType>Template</PackageType>
    <PackageVersion>1.0.0-bate22031401</PackageVersion>
    <PackageId>iml6yu.test.template</PackageId>
    <Title>一个测试模板</Title>
    <Authors>iml6yu</Authors>
    <Description>这是一个测试的dotnet项目模板</Description>
    <PackageTags>dotnet-new;templates;contoso</PackageTags>
    <TargetFramework>netstandard2.0</TargetFramework>

    <IncludeContentInPack>true</IncludeContentInPack>
    <IncludeBuildOutput>false</IncludeBuildOutput>
    <ContentTargetFolders>content</ContentTargetFolders>
    <PackageIcon>favorite_64.png</PackageIcon>
    <PackageIconUrl /> 
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
  </PropertyGroup>

  <ItemGroup>
    <Content Include="templates\**\*" Exclude="templates\**\bin\**;templates\**\obj\**" />
    <Compile Remove="**\*" />
  </ItemGroup>

  <ItemGroup>
    <None Include="..\..\liuyu\favorite_64.png">
      <Pack>True</Pack>
      <PackagePath></PackagePath>
    </None>
  </ItemGroup>

</Project>

打开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

创建后的效果
在这里插入图片描述

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

Vue-cli脚手架是Vue官方提供的一个工具,用于快速生成一个Vue项目的模板。它预先定义了项目的目录结构和基础代码,可以帮助开发者更快速地搭建一个Vue项目的框。通过Vue-cli,开发者可以使用简单的命令完成项目环境的搭建,包括插件、开发服务、构建打包等功能。安装Vue-cli可以通过命令npm install -g vue-cli来进行。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [Vue-cli脚手架](https://blog.csdn.net/qq_42265394/article/details/119778843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Vue-cli(vue脚手架)超详细教程](https://blog.csdn.net/u012660464/article/details/114834812)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Vue实战之Vue CLI 脚手架](https://blog.csdn.net/weixin_45442617/article/details/113951338)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值