C# 如何在单个NuGet软件包中发布多个“dotnet new”模板?

C# 如何在单个NuGet软件包中发布多个“dotnet new”模板?,c#,.net-core,dotnet-new,C#,.net Core,Dotnet New,我有一个由三个模板组成的dotnet新模板项目: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <PackageType>Template</PackageType> <PackageVersion>1.0</PackageVersion> <PackageId>Petabridge.Templates</PackageId

我有一个由三个模板组成的
dotnet新
模板项目:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <PackageType>Template</PackageType>
    <PackageVersion>1.0</PackageVersion>
    <PackageId>Petabridge.Templates</PackageId>
    <Title>Petabridge.Templates</Title>
    <Authors>Petabridge</Authors>
    <Description>Professional .NET Core templates complete with CI, Docs, and more. Supports library, Akka.NET, and ASP.NET Core application types.</Description>
    <PackageTags>dotnet-new;templates;petabridge;akka;</PackageTags>
    <TargetFramework>netstandard2.0</TargetFramework>
    <PackageReleaseNotes></PackageReleaseNotes>
    <IncludeContentInPack>true</IncludeContentInPack>
    <IncludeBuildOutput>false</IncludeBuildOutput>
    <ContentTargetFolders>content</ContentTargetFolders>
  </PropertyGroup>

  <ItemGroup>
    <Content Include="templates\**\*" Exclude="templates\**\bin\**;templates\**\obj\**" />
    <Compile Remove="**\*" />
  </ItemGroup>

</Project>
  • 图书馆
  • 无头.NET核心服务
  • ASP.NET核心Web应用程序
项目来源可在此处找到(它是FOSS):

我遵循了这里概述的最佳实践,并创建了一个针对所有三个模板的
.csproj
规范:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <PackageType>Template</PackageType>
    <PackageVersion>1.0</PackageVersion>
    <PackageId>Petabridge.Templates</PackageId>
    <Title>Petabridge.Templates</Title>
    <Authors>Petabridge</Authors>
    <Description>Professional .NET Core templates complete with CI, Docs, and more. Supports library, Akka.NET, and ASP.NET Core application types.</Description>
    <PackageTags>dotnet-new;templates;petabridge;akka;</PackageTags>
    <TargetFramework>netstandard2.0</TargetFramework>
    <PackageReleaseNotes></PackageReleaseNotes>
    <IncludeContentInPack>true</IncludeContentInPack>
    <IncludeBuildOutput>false</IncludeBuildOutput>
    <ContentTargetFolders>content</ContentTargetFolders>
  </PropertyGroup>

  <ItemGroup>
    <Content Include="templates\**\*" Exclude="templates\**\bin\**;templates\**\obj\**" />
    <Compile Remove="**\*" />
  </ItemGroup>

</Project>


我做错了什么?为什么安装此软件包时只显示一个模板?所有相关的源代码、模板配置等都可以通过单击我包含的存储库链接找到。

我也有同样的问题。我通过在每个模板的template.json文件中使用不同的groupIdentity值来解决这个问题

groupIdentity(可选)

此模板所属组的ID。当与 标记部分,这允许将多个模板显示为 一个,决定使用哪一个作为 每个轴类别(关键点)中的选项