Visual Studio 2019 年项目模板仅针对某些类型的项目显示
Visual Studio 2019 Item Template only showing up for certain types of projects
我创建并导入了一个项目模板,一个用于 Visual Studio 的 C# class 模板。
当我打开一个 C# Class 库项目时,我可以使用 Add > Class > UniqueIdentifier
从这个模板创建一个新项目。这按预期工作。
当我打开一个 ASP .Net Core MVC 项目并尝试相同的选项时,该模板没有出现在列表中。这不是预期的。
我希望这个项目模板出现在我所有项目的 Add > Class
菜单中。我曾尝试修改 .vstemplate
文件,但我只能在我尝试过的两种项目类型中的不同类型中切换它。我无法让它出现在多种类型的项目中。
这是 .vstemplate
文件的 TemplateData
部分的当前内容:
<TemplateData>
<DefaultName>UniqueIdentifier.cs</DefaultName>
<Name>UniqueIdentifier</Name>
<Description>My Description</Description>
<ProjectType>CSharp</ProjectType>
<TemplateID>Microsoft.CSharp.Class</TemplateID>
<Icon>__TemplateIcon.png</Icon>
<PreviewImage>__PreviewImage.PNG</PreviewImage>
<ShowByDefault>true</ShowByDefault>
</TemplateData>
根据我的测试,您可以参考以下步骤制作物品模板。
首先,您可以将 class 导出到 C# Class 库项目中的项模板。
其次,需要extra压缩文件,将.vstemplate
文件修改为如下内容:(粗体代码需要添加)
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
<TemplateData>
<DefaultName>TestClasslibrary.cs</DefaultName>
<Name>TestClasslibrary</Name>
<Description><No description available></Description>
<ProjectType>CSharp</ProjectType>
<SortOrder>10</SortOrder>
<Icon>__TemplateIcon.ico</Icon>
**<TemplateGroupID>AspNetCore</TemplateGroupID>**
</TemplateData>
<TemplateContent>
<References>
<Reference>
**<Assembly>Microsoft.CSharp</Assembly>**
</Reference>
</References>
<ProjectItem SubType="" TargetFileName="$fileinputname$.cs" ReplaceParameters="true">Class1.cs</ProjectItem>
</TemplateContent>
</VSTemplate>
三、修改文件后,请替换zip文件中的.vstemplate
文件
第四,请将您的 zip 文件放在路径 C:\Users\username\Documents\Visual Studio 2019\Templates\ItemTemplates
中。
像下面一样,TestClasslibrary.zip 被替换为 zip 文件。
最后,请重新启动您的 visual studio 并添加所需的项目模板。
注:当前项目是asp.netcore mvc。我也用winform、wpf、console和web app测试过,都可以成功添加模板。
我创建并导入了一个项目模板,一个用于 Visual Studio 的 C# class 模板。
当我打开一个 C# Class 库项目时,我可以使用 Add > Class > UniqueIdentifier
从这个模板创建一个新项目。这按预期工作。
当我打开一个 ASP .Net Core MVC 项目并尝试相同的选项时,该模板没有出现在列表中。这不是预期的。
我希望这个项目模板出现在我所有项目的 Add > Class
菜单中。我曾尝试修改 .vstemplate
文件,但我只能在我尝试过的两种项目类型中的不同类型中切换它。我无法让它出现在多种类型的项目中。
这是 .vstemplate
文件的 TemplateData
部分的当前内容:
<TemplateData>
<DefaultName>UniqueIdentifier.cs</DefaultName>
<Name>UniqueIdentifier</Name>
<Description>My Description</Description>
<ProjectType>CSharp</ProjectType>
<TemplateID>Microsoft.CSharp.Class</TemplateID>
<Icon>__TemplateIcon.png</Icon>
<PreviewImage>__PreviewImage.PNG</PreviewImage>
<ShowByDefault>true</ShowByDefault>
</TemplateData>
根据我的测试,您可以参考以下步骤制作物品模板。
首先,您可以将 class 导出到 C# Class 库项目中的项模板。
其次,需要extra压缩文件,将.vstemplate
文件修改为如下内容:(粗体代码需要添加)
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
<TemplateData>
<DefaultName>TestClasslibrary.cs</DefaultName>
<Name>TestClasslibrary</Name>
<Description><No description available></Description>
<ProjectType>CSharp</ProjectType>
<SortOrder>10</SortOrder>
<Icon>__TemplateIcon.ico</Icon>
**<TemplateGroupID>AspNetCore</TemplateGroupID>**
</TemplateData>
<TemplateContent>
<References>
<Reference>
**<Assembly>Microsoft.CSharp</Assembly>**
</Reference>
</References>
<ProjectItem SubType="" TargetFileName="$fileinputname$.cs" ReplaceParameters="true">Class1.cs</ProjectItem>
</TemplateContent>
</VSTemplate>
三、修改文件后,请替换zip文件中的.vstemplate
文件
第四,请将您的 zip 文件放在路径 C:\Users\username\Documents\Visual Studio 2019\Templates\ItemTemplates
中。
像下面一样,TestClasslibrary.zip 被替换为 zip 文件。
最后,请重新启动您的 visual studio 并添加所需的项目模板。
注:当前项目是asp.netcore mvc。我也用winform、wpf、console和web app测试过,都可以成功添加模板。