基于abp vnext制作项目脚手架

首先说明,尊重原创,本文是参考https://www.cnblogs.com/myshowtime/p/14507675.html这篇文章写的,里面内容有部分是直接拷贝过来的。毕竟文笔有限。感谢作者分享!!!

查看已安装项目模板

dotnet new --list 

项目位置

基于abp vnext制作项目脚手架

 

 

 项目结构

基于abp vnext制作项目脚手架

 

 

基于abp vnext4.3.0 

构建模板

先在“\template\templates”目录下创建“.template.config”目录,具体命令为:mkdir .template.config ,

基于abp vnext制作项目脚手架

 

 

然后在该目录下添加“template.json”文件,具体内容为: 

{
  "$schema": "http://json.schemastore.org/template",
  "author": "Ben",
  "classifications": [ "Template" ],
  "name": "LS.Template",
  "identity": "LS.Template", 
  "shortName": "ls-template",
  "tags": {
    "language": "C#" 
  },
  "sourceName": "Template" 
}

上面是一些基本的描述信息,需要注意的是 "sourceName" 属性,它相当于一个变量,我们通过这个属性,可以创建LS.BaseInfo,LS.Trace这样的解决方案和项目。

如果我的模板项目是LS.Equipment,那么sourceName的值改为Equipment也是可以生成脚手架的。

打包模板

在“\template”目录下添加“template-pack.csproj”文件

基于abp vnext制作项目脚手架

 

 

具体内容为:

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

  <PropertyGroup>
    <PackageType>Template</PackageType>
    <PackageVersion>1.0.0</PackageVersion>
    <PackageId>LS.Template</PackageId>
    <Title>LS.Template</Title>
    <Authors>Ben</Authors>
    <Description>LS.Template</Description>
    <PackageTags>dotnet-new;templates;LS.Template</PackageTags>

    <TargetFramework>netstandard2.1</TargetFramework>

    <IncludeContentInPack>true</IncludeContentInPack>
    <IncludeBuildOutput>false</IncludeBuildOutput>
    <ContentTargetFolders>content</ContentTargetFolders>
    <NoWarn>$(NoWarn);NU5128</NoWarn>
  </PropertyGroup>

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

</Project>

我们指定了程序包的基础信息,版本ID, 描述信息,包含了 templates 文件夹下的所有文件,然后排除了 bin\ obj\ 文件夹的dll文件。

运行 dotnet pack 命令进行打包, 你可以在 /bin/debug/ 文件夹找到 生成的 nupkg 文件

基于abp vnext制作项目脚手架

 

 

推送到Nuget服务器

从网上下载一个nuget.exe文件,我的nuget.exe的版本是:5.6.0

然后执行命令: nuget.exe push LS.Template.1.0.0.nupkg subendong111 -Source http://192.168.3.222:8081/repository/nuget-hosted/ 将代码推送到nuget仓库。

说明:我的nuget仓库是使用nexus搭建的。下面看下效果:

基于abp vnext制作项目脚手架

 

 

安装模板

在终端中运行  dotnet new --install LS.Template  命令安装,安装成功后,应该可以看到下边的输出,里边包含了我们的自定义模板。

基于abp vnext制作项目脚手架

 

或者使用 dotnet new --list 命令查看,没问题的话,列表里面应该会有。

 

 基于abp vnext制作项目脚手架

 

 

 使用模板

运行  dotnet new LS.Template --name=BaseInfo ,--name 指定了变量值,它会自动帮我们生成 BaseInfo 项目,这很棒!牛逼!

基于abp vnext制作项目脚手架

 

 

 基于abp vnext制作项目脚手架

 

 

 基于abp vnext制作项目脚手架

 

 

 至此,大功告成。

再次说明,尊重原创,本文是参考https://www.cnblogs.com/myshowtime/p/14507675.html这篇文章写的,里面内容有部分是直接拷贝过来的。毕竟文笔有限。感谢作者分享!!!

 

上一篇:dotnet命令安装nuget包原


下一篇:VS(Visual Studio)中Nuget的使用