使用 .NET,可以创建和部署可生成项目、文件甚至资源的模板。 本教程是系列教程的第三部分,介绍如何创建、安装和卸载用于 dotnet new 命令的模板。
在本系列的这一部分中,你将了解如何:
创建一个 *.csproj 项目以生成模板包
配置项目文件以进行打包
从 NuGet 包文件安装模板包
按包 ID 卸载模板包
先决条件
完成本系列教程的第 1 部分和第 2 部分。
本教程使用本教程前两部分中创建的两个模板。 只要将不同的模板作为文件夹复制到 working\templates\ 文件夹中,就可以使用该模板。
打开终端并导航到 working\ 文件夹。
创建模板包项目
模板包是打包到 NuGet 包中的一个或多个模板。 安装或卸载模板包时,将分别添加或删除包中包含的所有模板。 本系列教程的前几部分仅适用于各自的模板。 若要共享非打包模板,必须复制模板文件夹并通过该文件夹进行安装。 由于模板包中可以包含多个模板,并且是单个文件,因此共享更容易。
模板包由 NuGet 包 (.nupkg) 文件表示。 并且,与任何 NuGet 包一样,可以将模板包上传到 NuGet 源。 dotnet new --install 命令支持从 NuGet 包源安装模板包。 此外,可以直接从 .nupkg 文件安装模板包。
通常情况下,使用 C# 项目文件来编译代码并生成二进制文件。 但是,该项目也可用于生成模板包。 通过更改 .csproj 的设置,可以阻止它编译任何代码,而是将模板的所有资产都包含在内作为资源。 生成此项目后,它会生成模板包 NuGet 包。
将要创建的包将包含先前创建的项模板和包模板。 由于我们将两个模板分组到 working\templates\ 文件夹中,因此可以使用 .csproj 文件的 working 文件夹。
在终端中,导航到 working 文件夹。 创建一个新项目,将名称设置为 templatepack,并将输出文件夹设置为当前文件夹。
dotnet new console -n templatepack -o .
-n 参数将 .csproj 文件名设置为 templatepack.csproj 。 -o 参数将在当前目录中创建文件。 应看到类似于以下输出的结果。
The template "Console Application" was created successfully.
Processing post-creation actions...
Running 'dotnet restore' on .\templatepack.csproj...
Restore completed in 52.38 ms for C:\working\templatepack.csproj.
Restore succeeded.
新项目模板生成 Program.cs 文件。 模板不使用此文件,你可以安全删除。
接下来,在你喜爱的编辑器中打开 templatepack.csproj 文件,并将内容替换为以下 XML:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PackageType>Template</PackageType>
<PackageVersion>1.0</PackageVersion>
<PackageId>AdatumCorporation.Utility.Templates</PackageId>
<Title>AdatumCorporation Templates</Title>
<Authors>Me</Authors>
<Description>Templates to use when creating an application for Adatum Corporation.</Description>
<PackageTags>dotnet-new;templates;contoso</PackageTags>
<TargetFramework>netstandard2.0</TargetFramework>
<IncludeContentInPack>true</IncludeContentInPack>
<IncludeBuildOutput>false</IncludeBuildOutput>
<ContentTargetFolders>content</ContentTargetFolders>
<NoWarn>
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。