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%\Documents\Visual Studio 2017\Templates\ProjectTemplates
    模板的配置文件(在導出模板生成的壓縮文件中):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.WebAPI\MyTemplate.vstemplate
    14         </ProjectTemplateLink>
    15       </SolutionFolder>
    16       <SolutionFolder Name="2-Application">
    17         <ProjectTemplateLink ProjectName="$safeprojectname$.Application.IService" CopyParameters="true">
    18           Template.Application.IService\MyTemplate.vstemplate
    19         </ProjectTemplateLink>
    20         <ProjectTemplateLink ProjectName="$safeprojectname$.Application.Service" CopyParameters="true">
    21           Template.Application.Service\MyTemplate.vstemplate
    22         </ProjectTemplateLink>
    23       </SolutionFolder>
    24       <SolutionFolder Name="3-Domain">
    25         <ProjectTemplateLink ProjectName="$safeprojectname$.Domain.IService" CopyParameters="true">
    26           Template.Domain.IService\MyTemplate.vstemplate
    27         </ProjectTemplateLink>
    28         <ProjectTemplateLink ProjectName="$safeprojectname$.Domain.Service" CopyParameters="true">
    29           Template.Domain.Service\MyTemplate.vstemplate
    30         </ProjectTemplateLink>
    31       </SolutionFolder>
    32       <SolutionFolder Name="4-Infrastructure">
    33         <ProjectTemplateLink ProjectName="Template.Infrastructure.Show" CopyParameters="true">
    34           Template.Infrastructure.Show\MyTemplate.vstemplate
    35         </ProjectTemplateLink>
    36       </SolutionFolder>
    37     </ProjectCollection>
    38   </TemplateContent>
    39 </VSTemplate>

    使用$ext_safeprojectname$修改所有項目文件中需要應用根模板的應用名的地方(.csproj項目文件,.cs代碼文件以及.vstemplate模板文件)
    最后將修改好的模板重新打包放至用戶模板的存儲路徑,即可在vs新建項目中看到自己的模板


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM