azure-pipelines - 使用 versioningScheme ='byEnvVar' 的 Nuget 包不起作用
问题描述
我有一个包含 2 个任务的管道作业
任务 1 (Powershell@2):我正在使用命令更新内部版本号以显示“1.0.0.0”
$版本=“1.0.0.0”
写主机“##vso[build.updatebuildnumber]$version”
我可以看到此管道运行的构建版本已更新。
任务 2 (NuGetCommand@2):我正在使用 pack 命令创建 nuget 包
- task: NuGetCommand@2
displayName: Nuget Pack
inputs:
command: 'pack'
packagesToPack: '**/${{parameters.packageid}}.nuspec'
versioningScheme: 'byEnvVar'
versionEnvVar: BUILD_BUILDVERSION
configuration: '$(buildConfiguration)'
在 task2 中,它给出错误“ ##[error]No value was found for the provided environment variable. ”
我也尝试过 versionEnvVar: Build.BuildVersion 但它根本不起作用。
这是来自 MS NugetCommand的文档链接
有人可以指出我在这里做错了什么。
解决方案
使用 versioningScheme ='byEnvVar' 的 Nuget 包不起作用
作为您的描述,您需要使用Build.BuildNumber
而不是BUILD_BUILDVERSION
,例如:
versioningScheme: 'byEnvVar'
versionEnvVar: Build.BuildNumber
此外,如果你想使用BuildNumber
作为包版本,你可以使用:
versioningScheme: byBuildNumber
推荐阅读
- javascript - 承诺解决未定义,但数据仍在发布
- python - Python 无法导入名称 Django
- javascript - 在 React 中添加 3 个字段
- android - 在哪里放置我的 android 应用程序所需的 c++ .so 库
- python - 我如何改进这段代码以使其无错误
- python - 赋值前引用的局部变量 'q'
- java - 如何使 JPanel 大小适用于 JFrame?
- c# - 如何在 C# 中将 Treeview 转换为 JSON
- python - 在单个文件中构建多个文件,例如 .py .png
- javascript - JS函数if/else切换显示不起作用