【问题标题】:Date and Rev variables do not get expandedDate 和 Rev 变量没有得到扩展
【发布时间】:2020-12-21 11:26:06
【问题描述】:

我有以下管道。如您所见,我将信息版本设置为字符串。这在模板中使用并注入到我的输出 dll 中。

- name: fileVersion
  value: '1.0.0.$(Build.BuildId)'
- name: informationalVersion
  value: '1.0.0.$(Build.BuildId)-Alpha+$(Date:yyyyMMdd)$(Rev:.r)'

resources:
  repositories:
    - repository: BuildTemplates
      type: git
      name: HMI/BuildTemplates

extends:
  template: netFx/Jobs/netFx.Build.yml@BuildTemplates
jobs:
- job: Build
  steps:
  - template: ../../NuGet/Steps/NuGet.Restore.yml
  - template: ../Steps/netFx.Build.Version.yml
  - template: ../Steps/netFx.Build.yml
steps:
- task: Assembly-Info-NetFramework@2
  inputs:
    Path: '$(Build.SourcesDirectory)'
    FileNames: |
      **\AssemblyInfo.cs
      **\AssemblyInfo.vb
    InsertAttributes: true
    FileEncoding: 'auto'
    WriteBOM: true
    VersionNumber: '$(assemblyVersion)'
    # File version in windows explorer
    FileVersionNumber: '$(fileVersion)'
    # Product version in windows explorer
    InformationalVersion: '$(informationalVersion)'
    LogLevel: 'verbose'
    FailOnWarning: false
    DisableTelemetry: true

问题是这些变量没有得到扩展:$(Date:yyyyMMdd)$(Rev:.r) 当我检查 dll 时我可以看到:

$(Build.BuildId) 似乎可以正常工作。我在这里做错了什么?

【问题讨论】:

    标签: azure-pipelines


    【解决方案1】:

    你不能直接使用$(Date:yyyy.MM.dd)$(Rev:.rr)作为yaml管道中的变量。你必须使用$(Build.BuildNumber) 来获取它的值。

    因此,您可以通过为 yaml 管道定义 name 属性来将内部版本号配置为 $(Date:yyyy.MM.dd)$(Rev:.rr)。然后直接引用变量$(Build.BuildNumber)。见下例:

    name: $(Date:yyyyMMdd)$(Rev:.r)
    
    variables:
    - name: fileVersion
      value: '1.0.0.$(Build.BuildId)'
    - name: informationalVersion
      value: '1.0.0.$(Build.BuildId)-Alpha+$(Build.BuildNumber)'
    

    在此处查看document。或查看this 线程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-07
      • 2021-02-17
      • 2016-03-27
      • 2023-03-30
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多