.NET Core App - 如何在运行时获取内部版本号

问题描述 投票:5回答:3

我有一个.NET Core MVC应用程序,它是使用TFS在线构建的,并使用TFS在线的发布管理内容发布到Azure。一切都很好。

我想做的是让我的应用程序在某处显示内部版本号。无论在哪里......但是例如在像/ api / buildversion这样的WebAPI端点中。

任何人都可以帮助我如何在运行时获得TFS内部版本号?打包/发布应用程序时,是否有任何文件包含我可以从应用程序访问的内部版本号?

azure-devops .net-core
3个回答
7
投票

简单的方法是您可以将构建号存储在文件中(例如appsettings.json),然后在应用程序代码中获取此数据。

Appsettings.json示例代码:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-WebApplication1-ab933d83-8f4b-4024-9f3c-1aef5339a8f3;Trusted_Connection=True;MultipleActiveResultSets=true"
  },
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  }
  "CodeVersion": {
    "Num": "#{MyBuildNumber}#"
  }
}
  1. 安装Replace Tokens extension
  2. 编辑您的构建定义
  3. 单击“变量”选项卡并添加变量。 (名称:MyBuildNumber,值:$(Build.BuildNumber))
  4. 在构建步骤之前添加替换标记构建步骤

enter image description here


2
投票

您需要在编译时将Build Number保存在应用程序中。

您可以使用$ Build.BuildNumber或$ Env:BUILD_BUILDNUMBER访问内部版本号,具体取决于您的环境。我通常将它作为变量写入我的ApplicationInfo。*中,包含版本号和内部版本号。


2
投票

有一种比添加更多插件和库更简单的方法。如果您使用的是web / app deploy方法,请展开File Transforms&Variables enter image description here

假设您要更新在appsettings.json中说出内部版本号值

enter image description here

然后只需更新VSTS enter image description here发布定义中的变量设置

超级容易。这与Octopus IIRC中的步骤大致相同。

© www.soinside.com 2019 - 2024. All rights reserved.