【发布时间】:2019-10-10 14:25:53
【问题描述】:
我有一个由三个模板组成的dotnet new 模板项目:
- 图书馆
- 无头 .NET Core 服务
- ASP.NET Core Web 应用程序
项目源可以在这里找到(它是 FOSS):https://github.com/petabridge/petabridge-dotnet-new/
我遵循https://docs.microsoft.com/en-us/dotnet/core/tools/custom-templates 此处列出的最佳实践并创建了一个针对所有三个模板的.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>
可以在此处找到此源的实时版本:https://github.com/petabridge/petabridge-dotnet-new/blob/dev/src/Petabridge.Templates.csproj
运行构建脚本并检查包输出后,我可以看到作为包输出的一部分构建的 NuGet 包肯定包含其中的所有三个模板 - 您可以从Github 在此存储库上发布:https://github.com/petabridge/petabridge-dotnet-new/releases/tag/1.0.1
我的问题是,当我使用最新的 .NET Core 3.0 SDK 将这些模板安装到我的机器上时,我只看到第三个模板(Web 应用程序)出现在安装列表中:
PS> dotnet new -i "Petabridge.Templates::*"
我做错了什么?为什么我安装这个包时只显示一个模板?通过点击我包含的存储库链接,可以找到所有相关的源代码、模板配置等。
【问题讨论】:
标签: c# .net-core dotnet-new