c# - Visual Studio 2019 项目模板仅针对某些类型的项目显示
问题描述
我创建并导入了一个项目模板,这是一个用于 Visual Studio 的 C# 类模板。
当我打开一个 C# 类库项目时,我可以使用Add > Class > UniqueIdentifier
. 这按预期工作。
当我打开一个 ASP .Net Core MVC 项目并尝试相同的选项时,此模板不会出现在列表中。这不是预期的。
我希望这个项目模板出现在Add > Class
我所有项目的菜单中。我曾尝试修改该.vstemplate
文件,但我只能在出现在我尝试过的两种项目类型中的不同一种之间切换它。我无法让它出现在多种类型的项目中。
TemplateData
这是文件部分的当前内容.vstemplate
:
<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>
解决方案
根据我的测试,您可以参考以下步骤制作项目模板。
首先,您可以将类导出到 C# 类库项目中的项模板。
二、需要将压缩后的.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>
三、修改文件后,请更换.vstemplate
zip文件中的文件。
第四,请将您的 zip 文件放在路径中 C:\Users\username\Documents\Visual Studio 2019\Templates\ItemTemplates
。如下所示,TestClasslibrary.zip 被替换为 zip 文件。
最后,请重新启动您的 Visual Studio 并添加所需的项目模板。
注意:当前项目是asp.net core mvc。我还用winform、wpf、console和web app进行了测试,它们都可以成功添加模板。
推荐阅读
- mysql - 优化数据库中大表的查询(SQL)
- powershell - 忽略Powershell中文本字符串中的引号
- javascript - 如何将 Codepen 脚本添加到我的文件中(见截图)
- html - 需要帮助将图像集中在我的标题列表中吗?
- flutter - Flutter on VS Code 运行卡在“Installing build\app\outputs\apk\app.apk...”
- css - 文件拖放到元素上后使用 :hover CSS 规则闪烁元素
- python - 如何为 Pandas 中同一类别的每条记录添加均值?
- docker - 只有一个 ubuntu docker 容器来装我需要的一切是不是错了?
- mongodb - 如何从MongoDB中对象的对象数组中查找记录
- .net-core - .NET Core 中的构建命令错误(不知道这样的主机)