【问题标题】:VSTS issue with applying Build Version Number to the assemblies将内部版本号应用于程序集的 VSTS 问题
【发布时间】:2019-02-13 14:13:53
【问题描述】:

我在将构建版本应用到 VSTS 管道中的程序集时遇到问题。

过去,这是使用 MSBuild Targets 实现的。

解决方案中项目中的我的 AssemblyInfo.cs 类具有以下设置:

[assembly: AssemblyTitle("Demo App")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("Release x86")]
[assembly: AssemblyCompany("Demo App Ltd")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("© 2018. All Rights Reserved.")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.0.1.0")]
[assembly: AssemblyFileVersion("1.0.1.0")]

这是我的构建管道请求:

在我的构建管道中,我首先构建解决方案,然后当它成功时,它会调用名为 VersionAssemblies 的清单版本控制构建任务之一来更新 .NET 程序集。但是在服务器构建解决方案后,它不会更新产品版本和文件版本。

这是我当前关于我的管道中的此任务的设置

我不确定我做错了什么,因为当我检查已构建的程序集文件时,它只包含默认版本,即 1.0.1.0。

  1. 那么我做错了什么?
  2. 谁能告诉我接下来可以尝试什么?

更新

如果我在构建解决方案之前移动任务,它会起作用。我怀疑这是正确的方法,但有人可以确认一下吗?

【问题讨论】:

  • 这是正确的方法。它就地修补源,而不是二进制文件。
  • 既然您的问题已经解决,您可以将更新添加为答案并标记。

标签: c# build azure-devops azure-pipelines


【解决方案1】:

可以通过执行以下操作来解决问题:在构建解决方案任务之前放置“Version.NET 任务”。它就地修补源,而不是二进制文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 2018-05-03
    • 2016-02-03
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    相关资源
    最近更新 更多