Skip to content
This repository was archived by the owner on Mar 6, 2025. It is now read-only.

Latest commit

 

History

History
41 lines (33 loc) · 2.07 KB

File metadata and controls

41 lines (33 loc) · 2.07 KB
title 设置 NuGet 包类型
description 介绍包类型以指示包的预计用途。
author karann-msft
ms.author karann
ms.date 07/09/2019
ms.topic conceptual
ms.openlocfilehash 1d869f616ce0291cf1c0a17b7ff20fc61e6a3bd5
ms.sourcegitcommit 2b50c450cca521681a384aa466ab666679a40213
ms.translationtype HT
ms.contentlocale zh-CN
ms.lasthandoff 04/07/2020
ms.locfileid 78230819

设置 NuGet 包类型

通过 NuGet 3.5+ 可以使用特定的包类型标记包以指示其预期用途 。 未标记类型的包(包含使用更早版本的 NuGet 创建的所有包)默认为 Dependency 类型。

  • Dependency 类型包将生成或运行时资产添加到库和应用程序,并且可以在任何项目类型中安装(假设它们相互兼容)。

  • DotnetTool 类型包是 dotnet CLI 的扩展,并且从命令行中调用。 该包仅在 .NET Core 项目中安装并且不影响还原操作。 .NET Core 扩展性文档中提供更多有关这些项目扩展的详细信息。

  • Template 类型包提供自定义模板,这些模板可以用来创建文件或项目,例如应用、服务、工具或类库。

  • 自定义类型包使用与包 ID 遵守相同格式规则的任意类型标识符。 但是,任何不是 DependencyDotnetTool 的类型不会被 Visual Studio 中的 NuGet 包管理器识别。

包类型在 .nuspec 文件中设置。 后向兼容最好不显式设置 Dependency 类型,而是依赖 NuGet 在没有指定类型时假设此类型。

  • .nuspec:指示 <metadata> 元素的 packageTypes\packageType 节点中的包类型:

    <?xml version="1.0" encoding="utf-8"?>
    <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
        <metadata>
        <!-- ... -->
        <packageTypes>
            <packageType name="DotnetTool" />
        </packageTypes>
        </metadata>
    </package>