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
。 必填。 允许的值:restore
、pack
、push
、custom
。 默认值:restore
。
指定要运行的 NuGet 命令。 使用 custom
值添加参数或使用其他命令。
解决方案、packages.config或 project.json
输入别名:solution
。
string
。
command = restore
时是必需的。 默认值:**/*.sln
。
指定要还原的包的解决方案、packages.config
或 project.json
文件的路径。
feedsToUse
-
源以使用
输入别名:selectOrConfig
。
string
。
command = restore
时是必需的。 允许的值:select
(我在此处选择的源),config
(我的 NuGet.config中的源)。 默认值:select
。
为要与 select
值一起使用的任务指定 Azure Artifacts 和/或 NuGet.org 的源。 或者,可以将 NuGet.config
文件提交到源代码存储库,并使用 config
值将其路径设置为值。
vstsFeed
-
使用此 Azure Artifacts/TFS 源中的包。从下拉列表中选择,或输入 [项目名称/]源名称。
输入别名:feedRestore
。
string
。 自选。 当 selectOrConfig = select && command = restore
时使用。
指定生成的 NuGet.config
中的所选源。 必须安装包管理并获得许可才能在此处指定源。
vstsFeed
-
使用此 Azure Artifacts/TFS 源中的包
输入别名:feedRestore
。
string
。 自选。 当 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
-
此组织/集合外部源的凭据
输入别名:externalEndpoints
。
string
。 自选。 当 selectOrConfig = config && command = restore
时使用。
指定要用于所选 NuGet.config
中的外部注册表的凭据。 这是 NuGet 服务连接的名称。 对于此组织或集合中的源,请将此保留为空;将自动使用生成的凭据。
externalFeedCredentials
-
此帐户/集合外部源的凭据
输入别名:externalEndpoints
。
string
。 自选。 当 selectOrConfig = config && command = restore
时使用。
指定要用于所选 NuGet.config
中的外部注册表的凭据。 这是 NuGet 服务连接的名称。 对于此帐户或集合中的源,请将此保留为空;将自动使用生成的凭据。
noCache
-
禁用本地缓存
boolean
。 自选。 当 command = restore
时使用。 默认值:false
。
当设置为 true
时,防止 NuGet 使用本地计算机缓存中的包。
disableParallelProcessing
-
禁用并行处理
boolean
。 自选。 当 command = restore
时使用。 默认值:false
。
当设置为 true
时,防止 NuGet 在并行进程中安装多个包。
restoreDirectory
-
目标目录
输入别名:packagesDirectory
。
string
。 自选。 当 command = restore
时使用。
指定在其中安装包的文件夹。 如果未指定文件夹,包将还原到 packages/
文件夹中,以及所选解决方案、packages.config
或 project.json
。
verbosityRestore
-
详细程度
string
。 自选。 当 command = restore
时使用。 允许的值:Quiet
、Normal
、Detailed
。 默认值:Detailed
。
指定输出中显示的详细信息量。
packagesToPush
-
NuGet 包的路径,用于发布
输入别名:searchPatternPush
。
string
。
command = push
时是必需的。 默认值:$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg
。
指定要匹配的模式或要上传 nupkg
文件的路径。 多个模式可以用分号分隔。
nuGetFeedType
-
目标源位置
string
。
command = push
时是必需的。 允许的值:internal
(此组织/集合)、external
(外部 NuGet 服务器(包括其他帐户/集合)。 默认值:internal
。
指定目标源是内部源/集合还是外部 NuGet 服务器。
nuGetFeedType
-
目标源位置
string
。
command = push
时是必需的。 允许的值:internal
(此帐户/集合)、external
(外部 NuGet 服务器(包括其他帐户/集合)。 默认值:internal
。
指定目标源是内部源/集合还是外部 NuGet 服务器。
publishVstsFeed
-
目标源
输入别名:feedPublish
。
string
。
command = 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 服务器
输入别名:externalEndpoint
。
string
。
command = push && nuGetFeedType = external
时是必需的。
指定包含外部 NuGet 服务器的凭据的 NuGet 服务连接。
verbosityPush
-
详细程度
string
。 自选。 当 command = push
时使用。 允许的值:Quiet
、Normal
、Detailed
。 默认值:Detailed
。
指定输出中显示的详细信息量。
packagesToPack
-
csproj 或 nuspec 文件的路径以打包
输入别名:searchPatternPack
。
string
。
command = pack
时是必需的。 默认值:**/*.csproj
。
指定任务用于搜索要打包的 csproj 目录的模式。
可以使用分号分隔多个模式,并通过以 !
作为前缀来使模式为负。 示例:**\*.csproj;!**\*.Tests.csproj
。
用于打包 的
输入别名:configurationToPack
。
string
。 自选。 当 command = pack
时使用。 默认值:$(BuildConfiguration)
。
指定使用 csproj 文件时要打包的配置。
packDestination
-
包文件夹
输入别名:outputDir
。
string
。 自选。 当 command = pack
时使用。 默认值:$(Build.ArtifactStagingDirectory)
。
指定任务在其中创建包的文件夹。 如果值为空,则任务将在源根处创建包。
versioningScheme
-
自动包版本控制
string
。
command = pack
时是必需的。 允许的值:off
、byPrereleaseNumber
(使用日期和时间)、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
-
环境变量
string
。
versioningScheme = byEnvVar && command = pack
时是必需的。
指定不带 $
、$env
或 %
的变量名。
majorVersion
-
主要
输入别名:requestedMajorVersion
。
string
。
versioningScheme = byPrereleaseNumber && command = pack
时是必需的。 默认值:1
。
版本 X.Y.Z中的 X
。
minorVersion
-
次要
输入别名:requestedMinorVersion
。
string
。
versioningScheme = byPrereleaseNumber && command = pack
时是必需的。 默认值:0
。
版本 X.Y.Z中的 Y
。
patchVersion
-
Patch
输入别名:requestedPatchVersion
。
string
。
versioningScheme = byPrereleaseNumber && command = pack
时是必需的。 默认值:0
。
版本 X.Y.Z中的 Z
。
packTimezone
-
时区
string
。 自选。 当 versioningScheme = byPrereleaseNumber && command = pack
时使用。 允许的值:utc
、local
(代理本地时间)。 默认值: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
时使用。 允许的值:Quiet
、Normal
、Detailed
。 默认值:Detailed
。
指定输出中显示的详细信息量。
arguments
-
命令和参数
string
。
command = custom
时是必需的。
指定要传递给执行 NuGet.exe
的命令和参数。 如果使用 NuGet 3.5 或更高版本,则针对 Project Collection Build Service 有权访问的任何源 list
、restore
和 publish
等经过身份验证的命令将自动进行身份验证。
任务控制选项
除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性。
输出变量
没有。
言论
重要
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.3
或 1.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@0
和 NuGetRestore@1
已弃用,应在管道中将其替换为 NuGetCommand@2
。
如果使用 NuGetInstaller@0
和 restoreMode: restore
,请在使用 NuGetCommand@2
时配置以下输入。
NuGetCommand@2任务输入 | 价值 |
---|---|
command |
restore |
restoreSolution |
路径.sln文件 |
如果使用 NuGetInstaller@0
和 restoreMode: install
,请在使用 NuGetCommand@2
时配置以下输入。
NuGetCommand@2任务输入 | 价值 |
---|---|
command |
custom |
arguments |
NuGet CLI 中完整安装命令的外观。 例如,如果要在管道中运行等效 nuget install ninject -OutputDirectory c:\proj ,则 arguments 参数将 install ninject -OutputDirectory c:\proj 。 如果使用 NuGetInstaller@0 nuGetRestoreArgs 参数,则这些参数现在也会进入 arguments 。 |
如果使用 NuGetRestore@1
,请在使用 NuGetCommand@2
时配置以下输入。
NuGetCommand@2任务输入 | 价值 |
---|---|
command |
restore |
restoreSolution |
路径.sln文件 |
与使用 NuGetRestore@1
或 NuGetInstaller@0
restore
选项类似,NuGetCommand@2
具有设置源的输入,在 select
或 config
之间做出决定,指定 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'