标签:代码 自己 auth 文件 模板文件 tty script let folder
一、使用dotnet命令创建(适用于.NET Core,可以创建包含任意数量个项目的模板,但不会出现在vs的新建项目模板中)
官方文档:https://docs.microsoft.com/zh-cn/dotnet/core/tools/custom-templates
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 }
二、vs》项目》导出模板(适用于多种语言,可在vs的新建项目模板中使用)
官方文档:https://docs.microsoft.com/zh-cn/visualstudio/ide/creating-project-and-item-templates?view=vs-2017
单个项目模板vs导出:
项目》导出模板
vs的新建项目的用户模板的存储路径:%USERPROFILE%\Documents\Visual Studio 2017\Templates\ProjectTemplates
模板的配置文件(在导出模板生成的压缩文件中):MyTemplate.vstemplate
模板参数:https://docs.microsoft.com/zh-cn/visualstudio/ide/template-parameters?view=vs-2017
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新建项目中看到自己的模板
标签:代码 自己 auth 文件 模板文件 tty script let folder
原文地址:https://www.cnblogs.com/LaughAtSelfsWrong/p/11432458.html