VS2019 自定义模板未显示

pan*_*nis 1 visual-studio visual-studio-extensions .net-core visual-studio-2019

我为 VS2019 创建了一个自定义模板,其中包含两个项目。下面是我的 root.vstemplate 文件

<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
  <TemplateData>
    <Name>Asp.Net Core Template EF Core</Name>
    <Description>Asp.Net Core 3.1 Boilerplate template</Description>
    <ProjectType>CSharp</ProjectType>
    <ProjectSubType>
    </ProjectSubType>
    <SortOrder>1000</SortOrder>
    <CreateNewFolder>true</CreateNewFolder>
    <DefaultName>Asp.Net Core Template EF Core</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
    <LocationField>Enabled</LocationField>
    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    <Icon>logo.png</Icon>
  </TemplateData>
  <TemplateContent>
    <ProjectCollection>
      <ProjectTemplateLink ProjectName="AspNet Core Ef Core">
        src\AspNetCore3EfCoreTemplate\MyTemplate.vstemplate
      </ProjectTemplateLink>
      <ProjectTemplateLink ProjectName="AspNet Core Ef Core Web">
        src\AspNetCore3EfCoreTemplate.Web\MyTemplate.vstemplate
      </ProjectTemplateLink>
    </ProjectCollection>
  </TemplateContent>
</VSTemplate>
Run Code Online (Sandbox Code Playgroud)

我按照此链接的说明进行操作,但是当我尝试在 VS2019 中创建新项目时未显示我的模板。有谁知道为什么会这样?

Mr *_*ian 5

我按照此链接的说明进行操作,但是当我尝试在 VS2019 中创建新项目时未显示我的模板。有谁知道为什么会这样?

对于自定义工程模板,VS2019新建工程UI无法通过过滤器找到自定义工程模板,这些模板实际上存在于其中。

All LangagesAll PlatformsAll Project Types与搜索框失去的能力,过滤器定制项目模板,这是一个已知的问题在VS2019。但它仍然发生在最新版本中VS2019 16.4.2。如果您想解决这个烦人的问题,您可以向DC 论坛报告问题以报告此异常行为以获得支持。这可能是一个漫长的过程,或者您可以尝试以下我的建议:

建议

1)不要在VS2019 Project UI中使用任何过滤器,然后拖动到所有模板的底部找到自定义模板,它通常插入在所有默认模板之后。

在此处输入图片说明

这张图片显示在所有模板的底部。

2)改用 VS2017 没有错误。

更新 1

我已经创建了您的进一步信息并在我身边进行了测试,没有任何错误,我的环境:

win10企业版1903VS2019 社区 16.4.2

我的步骤

1)我在同一个解决方案中创建了两个项目:一个Net Core 3.1 ClassLibrary 项目和一个ASP.NET Core 3.1 Web Application 项目

2)然后在Project菜单中点击Export Template.. ,将这些工程分别作为工程模板导出。

3)打开文件夹并将它们解压缩到名为src的同一文件夹中。

这显示了src文件夹中的两个解压项目文件夹

在此处输入图片说明

然后,这显示了文件夹的最终形式,src文件夹包含如上图所示的两个项目文件夹

在此处输入图片说明

4) root.vstemplate是您提供的代码。Asp.Net Core Template EF Core如您所说,项目模板被称为。之后,我将这两个文件压缩成一个叫做多项目模板的包,然后把这个zip文件放到这个路径中C:\Users\xxx\Documents\Visual Studio 2019\Templates\ProjectTemplates

5)然后我关闭VS Instance然后重新启动VS并清除所有过滤器,然后将项目模板拉到底部,然后在底部查找名为Asp.Net Core Template EF Core.

>我在我身边找到了这个模板,如果你没有看到,请修复VS,然后在扩展-->管理扩展菜单中禁用任何第三方扩展,以防止干扰VS。此外,由于您的VS是16.4.1,您可以尝试将其更新到16.4.2。

更新 2

有了你的样本,我想我发现了问题。问题是 root.template 找不到包含的两个项目:

你把root.template对的Src文件夹和root.vstemplate文件写入这些:

src\ClassLibrary1\MyTemplate.vstemplate

src\WebApplication3\MyTemplate.vstemplate
Run Code Online (Sandbox Code Playgroud)

它使用相对路径来查找这些文件,而您所在的当前路径root.vstemplate没有src,因此无法找到。

解决的办法是,你应该把root.vstemplate在同一目录中SRC文件夹,然后压缩这两个。之后,将其Multiple.zip放入C:\Users\xxx\Documents\Visual Studio 2019\Templates\ProjectTemplates.

在此处输入图片说明

希望能帮到你。


Dan*_*iel 5

Visual Studio 2019 使用标签来筛选项目。默认情况下,当您导出项目模板时,该.vstemplate文件不包含所需的标签。您需要编辑该.vstemplate文件并在该TemplateData部分中添加以下标记(即在<TemplateData>和之间</TemplateData>),并将这些值替换为模板的适当值:

<LanguageTag>Language</LanguageTag>
<PlatformTag>Platform</PlatformTag>
<ProjectTypeTag>Type</ProjectTypeTag>
Run Code Online (Sandbox Code Playgroud)

例如,这是TemplateData我的自定义模板之一:

<TemplateData>
  <Name>MyCaliburnMicroTemplate</Name>
  <Description>Caliburn Micro template I set up with basic localisation, logging, settings and themes implemented.</Description>
  <ProjectType>CSharp</ProjectType>
  <ProjectSubType>Windows</ProjectSubType>
  <LanguageTag>CSharp</LanguageTag>
  <PlatformTag>Windows</PlatformTag>
  <ProjectTypeTag>Desktop</ProjectTypeTag>
  <SortOrder>1000</SortOrder>
  <CreateNewFolder>true</CreateNewFolder>
  <DefaultName>MyCaliburnMicroTemplate</DefaultName>
  <ProvideDefaultName>true</ProvideDefaultName>
  <LocationField>Enabled</LocationField>
  <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
  <Icon>__TemplateIcon.ico</Icon>
</TemplateData>
Run Code Online (Sandbox Code Playgroud)

我也将 设置<ProjectSubType>为 Windows,但我还没有测试过这是否有任何区别。

这是我的“创建新项目”窗口的图片,过滤器设置为 C#、Windows 和桌面:

Visual Studio 2019 - 创建新项目窗口

请注意,标签现在出现在我的项目模板的描述下方。我目前使用的是 Visual Studio Community 2019 版本 16.4.3,但尚未使用任何其他版本进行测试。