zoukankan      html  css  js  c++  java
  • vs项目模板创建和使用

    一、使用dotnet命令创建(适用于.NET Core,可以创建包含任意数量个项目的模板,但不会出现在vs的新建项目模板中)

    官方文档:https://docs.microsoft.com/zh-cn/dotnet/core/tools/custom-templates

    1. 拷贝所有要用作模板的项目到新建文件夹
    2. 在新建文件夹下添加./.template.config/template.json 文件
    3. 编辑template.json文件,内容如下:
      1 {
      2   "$schema": "http://json.schemastore.org/template",
      3   "author": "Travis Chau",
      4   "classifications": [ "Common", "Console" ],
      5   "identity": "AdatumCorporation.ConsoleTemplate.CSharp",
      6   "name": "Adatum Corporation Console Application",
      7   "shortName": "adatumconsole"
      8 }
    4. 在新建文件夹路径下使用dotnet命令创建模板:dotnet new -i .
    5. 从模板新建项目: dotnet new <模板名> -n <用来替换模板名的名称> -o <新项目路径>
    6. 卸载模板:dotnet new -u <模板路径>


    二、vs》项目》导出模板(适用于多种语言,可在vs的新建项目模板中使用)

     官方文档:https://docs.microsoft.com/zh-cn/visualstudio/ide/creating-project-and-item-templates?view=vs-2017

    1. 单个项目模板vs导出:

      项目》导出模板
      vs的新建项目的用户模板的存储路径:%USERPROFILE%DocumentsVisual Studio 2017TemplatesProjectTemplates
      模板的配置文件(在导出模板生成的压缩文件中):MyTemplate.vstemplate
      模板参数:https://docs.microsoft.com/zh-cn/visualstudio/ide/template-parameters?view=vs-2017

    2. 多个项目模板vs导出:
      每个项目单独导出模板
      创建根项目文件夹
      将全部模板解压到根项目文件夹
      根项目文件夹下创建MultiProjectTemplate.vstemplate文件
      MultiProjectTemplate.vstemplate内容示例如下:
       1 <VSTemplate Version="2.0.0" Type="ProjectGroup"
       2     xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
       3   <TemplateData>
       4     <Name>Template</Name>
       5     <Description>An example of a multi-project template</Description>
       6     <Icon>__TemplateIcon.ico</Icon>
       7     <ProjectType>CSharp</ProjectType>
       8   </TemplateData>
       9   <TemplateContent>
      10     <ProjectCollection>
      11       <SolutionFolder Name="1-Presentation">
      12         <ProjectTemplateLink ProjectName="$safeprojectname$.Presentation.WebAPI" CopyParameters="true">
      13           Template.Presentation.WebAPIMyTemplate.vstemplate
      14         </ProjectTemplateLink>
      15       </SolutionFolder>
      16       <SolutionFolder Name="2-Application">
      17         <ProjectTemplateLink ProjectName="$safeprojectname$.Application.IService" CopyParameters="true">
      18           Template.Application.IServiceMyTemplate.vstemplate
      19         </ProjectTemplateLink>
      20         <ProjectTemplateLink ProjectName="$safeprojectname$.Application.Service" CopyParameters="true">
      21           Template.Application.ServiceMyTemplate.vstemplate
      22         </ProjectTemplateLink>
      23       </SolutionFolder>
      24       <SolutionFolder Name="3-Domain">
      25         <ProjectTemplateLink ProjectName="$safeprojectname$.Domain.IService" CopyParameters="true">
      26           Template.Domain.IServiceMyTemplate.vstemplate
      27         </ProjectTemplateLink>
      28         <ProjectTemplateLink ProjectName="$safeprojectname$.Domain.Service" CopyParameters="true">
      29           Template.Domain.ServiceMyTemplate.vstemplate
      30         </ProjectTemplateLink>
      31       </SolutionFolder>
      32       <SolutionFolder Name="4-Infrastructure">
      33         <ProjectTemplateLink ProjectName="Template.Infrastructure.Show" CopyParameters="true">
      34           Template.Infrastructure.ShowMyTemplate.vstemplate
      35         </ProjectTemplateLink>
      36       </SolutionFolder>
      37     </ProjectCollection>
      38   </TemplateContent>
      39 </VSTemplate>

      使用$ext_safeprojectname$修改所有项目文件中需要应用根模板的应用名的地方(.csproj项目文件,.cs代码文件以及.vstemplate模板文件)
      最后将修改好的模板重新打包放至用户模板的存储路径,即可在vs新建项目中看到自己的模板

  • 相关阅读:
    js-jQuery对象与dom对象相互转换
    django模板{%for%}中的forloop的应用
    ubuntu MySQL数据库输入中文乱码 解决方案
    多线程下的神奇的IOCP
    类库服务寄宿到WebHost
    细说Asp.Net WebAPI消息处理管道
    项目发布Debug和Release版的区别
    linux yum命令详解
    Linux系统如何查看版本信息
    Linux查看物理CPU个数、核数、逻辑CPU个数
  • 原文地址:https://www.cnblogs.com/LaughAtSelfsWrong/p/11432458.html
Copyright © 2011-2022 走看看