NuGetCommand@2 - NuGet v2 任务

使用此任务还原、打包或推送 NuGet 包,或运行 NuGet 命令。 此任务支持 azure Artifacts 和 MyGet 等 NuGet.org 和经过身份验证的源。 此任务还使用 NuGet.exe,并适用于 .NET Framework 应用。 对于 .NET Core 和 .NET Standard 应用,请使用 .NET Core 任务。

语法

# NuGet v2
# Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
- task: NuGetCommand@2
  inputs:
    command: 'restore' # 'restore' | 'pack' | 'push' | 'custom'. Required. Command. Default: restore.
    restoreSolution: '**/*.sln' # string. Alias: solution. Required when command = restore. Path to solution, packages.config, or project.json. Default: **/*.sln.
    #packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg.
    #nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
    #publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed. 
    #allowPackageConflicts: false # boolean. Optional. Use when command = push && nuGetFeedType = internal. Allow duplicates to be skipped. Default: false.
    #publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server. 
    #packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
    #configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to package. Default: $(BuildConfiguration).
    #packDestination: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package folder. Default: $(Build.ArtifactStagingDirectory).
    #arguments: # string. Required when command = custom. Command and arguments. 
  # Feeds and authentication
    feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts/TFS feed. Select from the dropdown or enter [project name/]feed name. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
    #disableParallelProcessing: false # boolean. Optional. Use when command = restore. Disable parallel processing. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory. 
    #verbosityRestore: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = restore. Verbosity. Default: Detailed.
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal && command = push. Publish pipeline metadata. Default: true.
    #verbosityPush: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = push. Verbosity. Default: Detailed.
  # Pack options
    #versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
    #includeReferencedProjects: false # boolean. Optional. Use when versioningScheme = off && command = pack. Include referenced projects. Default: false.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
    #packTimezone: 'utc' # 'utc' | 'local'. Optional. Use when versioningScheme = byPrereleaseNumber && command = pack. Time zone. Default: utc.
    #includeSymbols: false # boolean. Optional. Use when command = pack. Create symbols package. Default: false.
    #toolPackage: false # boolean. Optional. Use when command = pack. Tool Package. Default: false.
  # Advanced
    #buildProperties: # string. Optional. Use when command = pack. Additional build properties. 
    #basePath: # string. Optional. Use when command = pack. Base path. 
    #verbosityPack: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = pack. Verbosity. Default: Detailed.
# NuGet v2
# Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
- task: NuGetCommand@2
  inputs:
    command: 'restore' # 'restore' | 'pack' | 'push' | 'custom'. Required. Command. Default: restore.
    restoreSolution: '**/*.sln' # string. Alias: solution. Required when command = restore. Path to solution, packages.config, or project.json. Default: **/*.sln.
    #packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg.
    #nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
    #publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed. 
    #allowPackageConflicts: false # boolean. Optional. Use when command = push && nuGetFeedType = internal. Allow duplicates to be skipped. Default: false.
    #publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server. 
    #packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
    #configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to package. Default: $(BuildConfiguration).
    #packDestination: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package folder. Default: $(Build.ArtifactStagingDirectory).
    #arguments: # string. Required when command = custom. Command and arguments. 
  # Feeds and authentication
    feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts/TFS feed. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
    #disableParallelProcessing: false # boolean. Optional. Use when command = restore. Disable parallel processing. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory. 
    #verbosityRestore: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = restore. Verbosity. Default: Detailed.
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal && command = push. Publish pipeline metadata. Default: true.
    #verbosityPush: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = push. Verbosity. Default: Detailed.
  # Pack options
    #versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
    #includeReferencedProjects: false # boolean. Optional. Use when versioningScheme = off && command = pack. Include referenced projects. Default: false.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
    #packTimezone: 'utc' # 'utc' | 'local'. Optional. Use when versioningScheme = byPrereleaseNumber && command = pack. Time zone. Default: utc.
    #includeSymbols: false # boolean. Optional. Use when command = pack. Create symbols package. Default: false.
    #toolPackage: false # boolean. Optional. Use when command = pack. Tool Package. Default: false.
  # Advanced
    #buildProperties: # string. Optional. Use when command = pack. Additional build properties. 
    #basePath: # string. Optional. Use when command = pack. Base path. 
    #verbosityPack: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = pack. Verbosity. Default: Detailed.
# NuGet v2
# Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Package Management and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
- task: NuGetCommand@2
  inputs:
    command: 'restore' # 'restore' | 'pack' | 'push' | 'custom'. Required. Command. Default: restore.
    restoreSolution: '**/*.sln' # string. Alias: solution. Required when command = restore. Path to solution, packages.config, or project.json. Default: **/*.sln.
    #packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg.
    #nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
    #publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed. 
    #allowPackageConflicts: false # boolean. Optional. Use when command = push && nuGetFeedType = internal. Allow duplicates to be skipped. Default: false.
    #publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server. 
    #packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
    #configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to package. Default: $(BuildConfiguration).
    #packDestination: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package folder. Default: $(Build.ArtifactStagingDirectory).
    #arguments: # string. Required when command = custom. Command and arguments. 
  # Feeds and authentication
    feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts/TFS feed. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this account/collection. 
  # Advanced
    #noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
    #disableParallelProcessing: false # boolean. Optional. Use when command = restore. Disable parallel processing. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory. 
    #verbosityRestore: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = restore. Verbosity. Default: Detailed.
  # Advanced
    #verbosityPush: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = push. Verbosity. Default: Detailed.
  # Pack options
    #versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
    #includeReferencedProjects: false # boolean. Optional. Use when versioningScheme = off && command = pack. Include referenced projects. Default: false.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
    #packTimezone: 'utc' # 'utc' | 'local'. Optional. Use when versioningScheme = byPrereleaseNumber && command = pack. Time zone. Default: utc.
    #includeSymbols: false # boolean. Optional. Use when command = pack. Create symbols package. Default: false.
    #toolPackage: false # boolean. Optional. Use when command = pack. Tool Package. Default: false.
  # Advanced
    #buildProperties: # string. Optional. Use when command = pack. Additional build properties. 
    #basePath: # string. Optional. Use when command = pack. Base path. 
    #verbosityPack: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = pack. Verbosity. Default: Detailed.

输入

command - 命令
string。 必填。 允许的值:restorepackpushcustom。 默认值:restore

指定要运行的 NuGet 命令。 使用 custom 值添加参数或使用其他命令。


解决方案、packages.config或 project.json 路径
输入别名:solutionstringcommand = restore时是必需的。 默认值:**/*.sln

指定要还原的包的解决方案、packages.configproject.json 文件的路径。


feedsToUse - 源以使用
输入别名:selectOrConfigstringcommand = restore时是必需的。 允许的值:select(我在此处选择的源),config(我的 NuGet.config中的源)。 默认值:select

为要与 select 值一起使用的任务指定 Azure Artifacts 和/或 NuGet.org 的源。 或者,可以将 NuGet.config 文件提交到源代码存储库,并使用 config 值将其路径设置为值。


vstsFeed - 使用此 Azure Artifacts/TFS 源中的包。从下拉列表中选择,或输入 [项目名称/]源名称。
输入别名:feedRestorestring。 自选。 当 selectOrConfig = select && command = restore时使用。

指定生成的 NuGet.config中的所选源。 必须安装包管理并获得许可才能在此处指定源。


vstsFeed - 使用此 Azure Artifacts/TFS 源中的包
输入别名:feedRestorestring。 自选。 当 selectOrConfig = select && command = restore时使用。

指定生成的 NuGet.config中的所选源。 必须安装包管理并获得许可才能在此处指定源。


includeNuGetOrg - 使用来自 NuGet.org的包
boolean。 自选。 当 selectOrConfig = select && command = restore时使用。 默认值:true

在生成的 NuGet.config中包含 NuGet.org。


nugetConfigPath - NuGet.config 的路径
string。 自选。 当 selectOrConfig = config && command = restore时使用。

指定存储库中 NuGet.config 的路径,用于确定从中还原包的源。


externalFeedCredentials - 此组织/集合外部源的凭据
输入别名:externalEndpointsstring。 自选。 当 selectOrConfig = config && command = restore时使用。

指定要用于所选 NuGet.config中的外部注册表的凭据。 这是 NuGet 服务连接的名称。 对于此组织或集合中的源,请将此保留为空;将自动使用生成的凭据。


externalFeedCredentials - 此帐户/集合外部源的凭据
输入别名:externalEndpointsstring。 自选。 当 selectOrConfig = config && command = restore时使用。

指定要用于所选 NuGet.config中的外部注册表的凭据。 这是 NuGet 服务连接的名称。 对于此帐户或集合中的源,请将此保留为空;将自动使用生成的凭据。


noCache - 禁用本地缓存
boolean。 自选。 当 command = restore时使用。 默认值:false

当设置为 true时,防止 NuGet 使用本地计算机缓存中的包。


disableParallelProcessing - 禁用并行处理
boolean。 自选。 当 command = restore时使用。 默认值:false

当设置为 true时,防止 NuGet 在并行进程中安装多个包。


restoreDirectory - 目标目录
输入别名:packagesDirectorystring。 自选。 当 command = restore时使用。

指定在其中安装包的文件夹。 如果未指定文件夹,包将还原到 packages/ 文件夹中,以及所选解决方案、packages.configproject.json


verbosityRestore - 详细程度
string。 自选。 当 command = restore时使用。 允许的值:QuietNormalDetailed。 默认值:Detailed

指定输出中显示的详细信息量。


packagesToPush - NuGet 包的路径,用于发布
输入别名:searchPatternPushstringcommand = push时是必需的。 默认值:$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg

指定要匹配的模式或要上传 nupkg 文件的路径。 多个模式可以用分号分隔。


nuGetFeedType - 目标源位置
stringcommand = push时是必需的。 允许的值:internal(此组织/集合)、external(外部 NuGet 服务器(包括其他帐户/集合)。 默认值:internal

指定目标源是内部源/集合还是外部 NuGet 服务器。


nuGetFeedType - 目标源位置
stringcommand = push时是必需的。 允许的值:internal(此帐户/集合)、external(外部 NuGet 服务器(包括其他帐户/集合)。 默认值:internal

指定目标源是内部源/集合还是外部 NuGet 服务器。


publishVstsFeed - 目标源
输入别名:feedPublishstringcommand = push && nuGetFeedType = internal时是必需的。

指定在此帐户中托管的源。 必须安装 Azure Artifacts 并有权在此处选择源。


publishPackageMetadata - 发布管道元数据
boolean。 自选。 当 command = push && nuGetFeedType = internal && command = push时使用。 默认值:true

更改一组持续发布的包中已更改包子集的版本号。


allowPackageConflicts - 允许跳过重复项
boolean。 自选。 当 command = push && nuGetFeedType = internal时使用。 默认值:false

报告任务成功,即使某些包被拒绝并出现 409 冲突错误。

此选项目前仅在 Azure Pipelines 和 Windows 代理上可用。 如果 NuGet.exe 遇到冲突,任务将失败。 如果位于代理环境中,此选项将不起作用,发布将失败。


publishFeedCredentials - NuGet 服务器
输入别名:externalEndpointstringcommand = push && nuGetFeedType = external时是必需的。

指定包含外部 NuGet 服务器的凭据的 NuGet 服务连接。


verbosityPush - 详细程度
string。 自选。 当 command = push时使用。 允许的值:QuietNormalDetailed。 默认值:Detailed

指定输出中显示的详细信息量。


packagesToPack - csproj 或 nuspec 文件的路径以打包
输入别名:searchPatternPackstringcommand = pack时是必需的。 默认值:**/*.csproj

指定任务用于搜索要打包的 csproj 目录的模式。

可以使用分号分隔多个模式,并通过以 !作为前缀来使模式为负。 示例:**\*.csproj;!**\*.Tests.csproj


用于打包 的 配置
输入别名:configurationToPackstring。 自选。 当 command = pack时使用。 默认值:$(BuildConfiguration)

指定使用 csproj 文件时要打包的配置。


packDestination - 包文件夹
输入别名:outputDirstring。 自选。 当 command = pack时使用。 默认值:$(Build.ArtifactStagingDirectory)

指定任务在其中创建包的文件夹。 如果值为空,则任务将在源根处创建包。


versioningScheme - 自动包版本控制
stringcommand = pack时是必需的。 允许的值:offbyPrereleaseNumber(使用日期和时间)、byEnvVar(使用环境变量)、byBuildNumber(使用内部版本号)。 默认值:off

根据指定的值应用自动包版本控制。 此字符串不能与 includeReferencedProjects一起使用。 允许的值为:

  • byPrereleaseNumber - 使用日期和时间:该任务将生成一个 SemVer兼容版本,其格式为 X.Y.Z-ci-datetime,可在其中指定 X、Y 和 Z 的值。
  • byEnvVar - 使用环境变量:该任务将使用指定的环境变量,并包含要使用的版本号。
  • byBuildNumber - 使用内部版本号:任务将使用内部版本号来对包进行版本控制。

注意

在“常规”下,将生成格式设置为 $(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)


includeReferencedProjects - 包括引用的项目
boolean。 自选。 当 versioningScheme = off && command = pack时使用。 默认值:false

包括作为依赖项或包的一部分引用的项目。 不能与自动包版本控制一起使用。 如果引用的项目具有与项目同名的相应 nuspec 文件,则将引用的项目添加为依赖项。 否则,将引用的项目添加为包的一部分。 详细了解 如何使用 NuGet CLI 的 pack 命令创建 nuGet 包


versionEnvVar - 环境变量
stringversioningScheme = byEnvVar && command = pack时是必需的。

指定不带 $$env%的变量名。


majorVersion - 主要
输入别名:requestedMajorVersionstringversioningScheme = byPrereleaseNumber && command = pack时是必需的。 默认值:1

版本 X.Y.Z中的 X


minorVersion - 次要
输入别名:requestedMinorVersionstringversioningScheme = byPrereleaseNumber && command = pack时是必需的。 默认值:0

版本 X.Y.Z中的 Y


patchVersion - Patch
输入别名:requestedPatchVersionstringversioningScheme = byPrereleaseNumber && command = pack时是必需的。 默认值:0

版本 X.Y.Z中的 Z


packTimezone - 时区
string。 自选。 当 versioningScheme = byPrereleaseNumber && command = pack时使用。 允许的值:utclocal(代理本地时间)。 默认值:utc

指定用于生成包版本的所需时区。 如果使用托管生成代理,则建议选择 utc,因为它们的日期和时间可能有所不同。


includeSymbols - 创建符号包
boolean。 自选。 当 command = pack时使用。 默认值:false

指定包包含源和符号。 与 .nuspec 文件一起使用时,这将创建常规 NuGet 包文件和相应的符号包。


toolPackage - 工具包
boolean。 自选。 当 command = pack时使用。 默认值:false

确定项目的输出文件是否应位于工具文件夹中。


buildProperties - 其他生成属性
string。 自选。 当 command = pack时使用。

指定由分号分隔的 token=value 对列表,其中 .nuspec 文件中 $token$ 的每个匹配项都将替换为给定值。 值可以是引号中的字符串。


basePath - 基路径
string。 自选。 当 command = pack时使用。

指定 nuspec 文件中定义的文件的基路径。


verbosityPack - 详细程度
string。 自选。 当 command = pack时使用。 允许的值:QuietNormalDetailed。 默认值:Detailed

指定输出中显示的详细信息量。


arguments - 命令和参数
stringcommand = custom时是必需的。

指定要传递给执行 NuGet.exe 的命令和参数。 如果使用 NuGet 3.5 或更高版本,则针对 Project Collection Build Service 有权访问的任何源 listrestorepublish 等经过身份验证的命令将自动进行身份验证。


任务控制选项

除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性

输出变量

没有。

言论

重要

NuGet 身份验证 任务是使用 Azure Artifacts 和其他 NuGet 存储库进行身份验证的新推荐方法。 此任务不再采用新功能,仅解决关键 bug。

使用此任务安装和更新 NuGet 包依赖项,或打包并发布 NuGet 包。 使用 NuGet.exe 并适用于 .NET Framework 应用。 对于 .NET Core 和 .NET Standard 应用,请使用 .NET Core 任务。

如果代码依赖于 NuGet 包,请确保在 Visual Studio 生成任务之前添加此步骤。 此外,请确保清除该任务中已弃用的 还原 NuGet 包 复选框。

如果使用的是 .NET Core 或 .NET Standard,请使用 .NET Core 任务,该任务对所有包方案具有完全支持,目前由 dotnet 支持。

提示

此版本的 NuGet 任务默认使用 NuGet 4.1.0。 若要选择不同版本的 NuGet,请使用 工具安装程序

版本控制方案

对于 byPrereleaseNumber,版本将设置为为主版本、次要版本和修补程序选择的值,以及日期和时间,格式为 yyyymmdd-hhmmss

对于 byEnvVar,版本将设置为具有 versionEnvVar 参数指定名称的环境变量的值,例如 MyVersion(无 $,只是环境变量名称)。 确保环境变量设置为正确的 SemVer,例如 1.2.31.2.3-beta1

对于 byBuildNumber,将使用管道运行的内部版本号设置版本。 这是为管道的 name 属性指定的值,该属性将保存到 BUILD_BUILDNUMBER 环境变量中)。 确保正在使用的生成号包含适当的 SemVer,例如 1.0.$(Rev:r)。 使用 byBuildNumber时,该任务将从生成号字符串中提取虚线版本 1.2.3.4,并仅使用该部分。 将删除字符串的其余部分。 如果要按原样使用内部版本号,可以使用 byEnvVar,并将 versionEnvVar 设置为 BUILD_BUILDNUMBER

从NuGetInstaller@0或NuGetRestore@1迁移

NuGetInstaller@0NuGetRestore@1 已弃用,应在管道中将其替换为 NuGetCommand@2

如果使用 NuGetInstaller@0restoreMode: restore,请在使用 NuGetCommand@2时配置以下输入。

NuGetCommand@2任务输入 价值
command restore
restoreSolution 路径.sln文件

如果使用 NuGetInstaller@0restoreMode: install,请在使用 NuGetCommand@2时配置以下输入。

NuGetCommand@2任务输入 价值
command custom
arguments NuGet CLI 中完整安装命令的外观。 例如,如果要在管道中运行等效 nuget install ninject -OutputDirectory c:\proj,则 arguments 参数将 install ninject -OutputDirectory c:\proj。 如果使用 NuGetInstaller@0nuGetRestoreArgs 参数,则这些参数现在也会进入 arguments

如果使用 NuGetRestore@1,请在使用 NuGetCommand@2时配置以下输入。

NuGetCommand@2任务输入 价值
command restore
restoreSolution 路径.sln文件

与使用 NuGetRestore@1NuGetInstaller@0restore 选项类似,NuGetCommand@2 具有设置源的输入,在 selectconfig之间做出决定,指定 NuGet.config 文件的路径,并使用来自 nuget.org 的包。

有关详细信息,请参阅以下 示例

例子

恢复

使用所选源中的包还原所有解决方案。

# Restore from a project scoped feed in the same organization
- task: NuGetCommand@2
  inputs:
    command: 'restore'
    feedsToUse: 'select'
    vstsFeed: 'my-project/my-project-scoped-feed'
    includeNuGetOrg: false
    restoreSolution: '**/*.sln'
# Restore from an organization scoped feed in the same organization
- task: NuGetCommand@2
  inputs:
    command: 'restore'
    feedsToUse: 'select'
    vstsFeed: 'my-organization-scoped-feed'
    restoreSolution: '**/*.sln'
# Restore from a feed in a different organization
- task: NuGetCommand@2
  inputs:
    command: 'restore'
    feedsToUse: config
    nugetConfigPath: ./nuget.config
    restoreSolution: '**/*.sln'
    externalFeedCredentials: 'MyServiceConnectionName'
    noCache: true
  continueOnError: true
# Restore from feed(s) set in nuget.config
- task: NuGetCommand@2
  inputs:
    command: 'restore'
    feedsToUse: 'config'
    nugetConfigPath: 'nuget.config'

在目标文件夹中创建 NuGet 包。

# Package a project
- task: NuGetCommand@2
  inputs:
    command: 'pack'
    packagesToPack: '**/*.csproj'
    packDestination: '$(Build.ArtifactStagingDirectory)'

注意

管道项目将下载到 Pipeline.Workspace 目录,以及经典发布管道的 System.ArtifactsDirectory 目录。 packagesToPush 值可以分别设置为 $(Pipeline.Workspace)/**/*.nupkg$(System.ArtifactsDirectory)/**/*.nupkg

  • 将包推送/发布到 NuGet.config中定义的源。

    # Push a project
    - task: NuGetCommand@2
      inputs:
        command: 'push'
        packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg'
        feedsToUse: 'config'
        nugetConfigPath: '$(Build.WorkingDirectory)/NuGet.config'
    
  • 将包推送/发布到组织范围的源

    # Push a project
    - task: NuGetCommand@2
      inputs:
        command: 'push'
        nuGetFeedType: 'internal'
        publishVstsFeed: 'my-organization-scoped-feed'
    
  • 将包推送/发布到项目范围的源

    # Push a project
    - task: NuGetCommand@2
      inputs:
        command: 'push'
        nuGetFeedType: 'internal'
        publishVstsFeed: 'my-project/my-project-scoped-feed'
    
  • 将包推送/发布到 NuGet.org

    # Push a project
    - task: NuGetCommand@2
      inputs:
        command: 'push'
        feedsToUse: 'config'
        includeNugetOrg: 'true'
    

习惯

除了默认的 NuGet 命令之外,运行任何其他 NuGet 命令:包、推送和还原。

# list local NuGet resources.
- task: NuGetCommand@2
  displayName: 'list locals'
  inputs:
    command: custom
    arguments: 'locals all -list'

要求

要求 描述
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
需求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 2.144.0 或更高版本
任务类别
要求 描述
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
需求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 2.115.0 或更高版本
任务类别