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

Pau*_*aul 6 .net-core azure-devops

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

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

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

sta*_*SFT 9

简单的方法是您可以将构建号存储在文件中(例如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}#"
  }
}
Run Code Online (Sandbox Code Playgroud)
  1. 安装替换令牌扩展
  2. 编辑您的构建定义
  3. 单击"变量"选项卡并添加变量.(名称:MyBuildNumber,值:$(Build.BuildNumber))
  4. 在构建步骤之前添加替换标记构建步骤

在此输入图像描述

  • 在仅使用 Visual Studio 不在 azure 上的情况下,很难找到这个问题的答案... (2认同)

mac*_*acm 6

有一种比添加更多插件和库更简单的方法。如果您使用的是 web/app 部署方法,请展开 File Transforms & Variables 在此处输入图片说明

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

在此处输入图片说明

然后只需更新 VSTS 发布定义中的变量设置 在此处输入图片说明

超级容易。这或多或少与八达通 IIRC 中的步骤相同。