【问题标题】:VSTS Assembly Version in Release正在发布的 VSTS 程序集版本
【发布时间】:2019-12-11 09:03:34
【问题描述】:

我最近开始使用 VSTS 构建适用于 iOS 的 Xamarin Forms 应用程序。我使用托管的 macOS 代理构建它,然后将其发布到 Azure Blob 存储中的容器。目前我可以解决的一件事是,如何在 ipa 文件的名称中包含 Assembly Version?

我们使用的是企业许可证,因此 ipa 不会出现在任何商店中。目前我在容器中有 App_Name.ipa 文件和所有以前的版本 App_Name.1.0.0.ipa,但是下载的始终是 App_Name.ipa。

我认为它可能是解析 AssemblyInfor.cs 文件和额外版本然后设置环境变量的选项 - 但是我似乎无法在发布阶段访问该变量。

理想情况下,我希望保留 VSTS,但我不介意触发 WebJob 来执行一些额外的任务,但是似乎无法从 ipa 文件中访问版本号。

任何人都可以提出一种方法吗?

【问题讨论】:

  • 读取、解析文件并使用值时,UI中显示的版本号是多少?

标签: azure-devops azure-pipelines azure-pipelines-release-pipeline


【解决方案1】:

您可以使用一些相关的扩展任务从AssemblyInfor.cs 文件中获取Assembly Version。

比如你可以使用Assembly Info Reader任务,然后你可以通过变量$(AssemblyInfo.AssemblyVersion)获取Assembly Version。

【讨论】:

  • 感谢您的回复 - 当我在构建阶段设置它时,它会在发布中可用吗?今天晚些时候我会试试这个
  • 可以,可以在release中添加任务,然后变量就可以使用了。
  • 我尝试运行该任务,但它在 macos 托管的构建代理上不起作用 - 在发布时运行时,没有 AssemblyInfo 文件。我最终将 AssemblyInfo 文件添加到 build 中的 Copy Files 任务。这不是 100% 理想的,但我现在可以访问内部版本号!
  • 对我来说很好的提示。我现在使用汇编版本加载器。这使用 dll 而不是代码文件。 marketplace.visualstudio.com/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-05
  • 2017-05-20
  • 2015-12-15
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 2017-01-16
相关资源
最近更新 更多