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新建项目中看到自己的模板

  • 相关阅读:
    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二)
    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦
    C# 获取当前登录IP
    清除ios系统alert弹出框的域名
    在线文档预览示例
    lnmp1.5一键安装包安装lnmpa后,添加站点
    解决sql server2008数据库安装之后,web程序80端口被占用问题(终极方案)
    码云上传项目流程
    SQLServer2008不允许保存更改错误解决办法
    tp5 使用phpword 替换word模板并利用com组件转换pdf
  • 原文地址:https://www.cnblogs.com/LaughAtSelfsWrong/p/11432458.html
Copyright © 2011-2022 走看看