/p:AssemblyVersion 不覆盖 AssemblyInfo.cs 参数

/p:AssemblyVersion doesn't override AssemblyInfo.cs parameters

我希望我的 Azure 管道覆盖位于 AssemblyInfo.cs 中的 [assembly: AssemblyVersion("1.1.6.0")][assembly: AssemblyFileVersion("1.1.6.0")] 字段。在构建任务中我使用了这个配置:

- task: MSBuild@1
    inputs:
      solution: '*.csproj'
      msbuildArguments:'/p:OutputPath=$(Build.ArtifactStagingDirectory) /p:AssemblyVersion="$(Build.BuildNumber)"'

但程序集的版本保持不变,相反我希望它们等于当前的内部版本号。为什么值不更新?

要更新 AssemblyVersion,您可以在管道中使用 Assembly Info 任务。

您需要先安装这个任务,进入右上角的Marketplace,然后搜索Assembly Info。

此任务包含两个子任务。 NetFramwork 项目的 Assembly-Info-NetFramework 任务。和 Assembly-Info-NetCore@2 NetCore 项目的任务。

对于下面的示例,在构建任务之前将此任务添加到您的管道中。

 - task: Assembly-Info-NetFramework@2
      inputs:
        FileNames: "**/AssemblyInfo.cs"
        VersionNumber: $(Build.BuildNumber)