zoukankan      html  css  js  c++  java
  • VS 项目模板 自动创建项目结构 源码脚手架

    实现效果:Vs创建项目,选择模板后自动生成项目结构,如下图

    1. 准备好脚手架需要的源码

    2. 在项目根目录创建目录【.template.config】注意不要漏掉前缀.

    3. 在.template.config目录中创建文件【template.json】 内容如下

    {
        "$schema": "http://json.schemastore.org/template",//template.json 文件的 JSON 架构,可以不要该键值对
        "author": "Ives", //必填!模板创建者
        "classifications": [ "Web/WebAPI" ], //必填,这个对应模板的Tags,其他的比如 [ "Common", "Console" ],
        "name": "Scaffold", //必填,这个是模板名,比如ASP.NET Core Web API
        "identity": "Cloud.Server.Scaffold", //可选,模板的唯一名称
        "shortName": "Scaffold", //必填,这个对应模板的短名称,比如webapi
        "tags": {
          "language": "C#" ,
          "type":"project"
        },
        "sourceName": "MES.Server.Scaffold",  // 可选,要替换的名字,这个就是模板的项目名,以后新建的时候,会把这个名字替换成其他(项目名称、名称空间等字符串均会替换)
        "preferNameDirectory": true  // 可选,添加目录  
    }
    
    1. 安装模板
    //E:\ProjectTemplate为项目路径
    dotnet new -i E:\ProjectTemplate
    
    1. 接下来就可以在vs中找到刚才的模板

    2. 其他
      如果需要卸载,可以使用如下命令

    dotnet new -u E:\Works\template\ProjectTemplate
    
    //查看所有已经安装的模板
    dotnet new -u
    

    进阶 - 发布模板到Nuget

    如图, vs中不直接包含Nuget

    下载nuget

    1. 新建目录Template,在Template下创建目录content
    2. 将刚才的模板所有文件复制到content中
    3. 在Template下创建文件【Server.Scaffold.WebAPI.nuspec】,内容如下
      需要注意id需要在上传的nuget源中保持唯一
    <?xml version="1.0" encoding="utf-8"?>
    <package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
      <metadata>
        <id>Server.Scaffold.WebAPI</id>
        <version>1.0.0.0</version>
        <description>
         微服务基础脚手架
        </description>
        <authors>Ives</authors>
        <packageTypes>
          <packageType name="Template" />
        </packageTypes>
      </metadata>
    </package>
    
    1. 打包
    nuget.exe pack .\Server.Scaffold.WebAPI.nuspec
    
    1. 将nuget包上传
    ![](https://img2020.cnblogs.com/blog/944369/202201/944369-20220112101602243-1897836536.png)
    
    
    1. 安装模板
    dotnet new --install Server.Scaffold.WebAPI::1.0.0.0
    

    [引用]
    [1] https://zhuanlan.zhihu.com/p/348550362
    [2] http://tianfeng.cc/Article/4050
    [3] https://www.cnblogs.com/catcher1994/p/10061470.html
    [4] https://docs.microsoft.com/zh-cn/dotnet/core/tutorials/cli-templates-create-item-template

    留待后查,同时方便他人
    联系我:renhanlinbsl@163.com
  • 相关阅读:
    smarty语法
    combobox里面显示checkbox
    requirejs打包项目
    datagrid中用tooltip
    combobox默认值为第一个数据,修改为空值
    easyui-textbox高为0
    C++并发编程 异步任务
    C++并发编程 互斥和同步
    C++并发编程 thread
    C++智能指针
  • 原文地址:https://www.cnblogs.com/ives/p/15791368.html
Copyright © 2011-2022 走看看