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

时间:2017-02-21 22:14:45

标签: azure-devops .net-core

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

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

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

3 个答案:

答案 0 :(得分: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. 在构建步骤之前添加替换标记构建步骤
  5. enter image description here

答案 1 :(得分:2)

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

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

答案 2 :(得分:2)

比添加更多插件和库更简单。如果您使用的是Web / app部署方法,请展开文件转换和文件转换。变量 DEMO

假设您要在appsettings.json

中更新说明内部版本号值

enter image description here

然后只需更新VSTS版本定义中的变量设置即可 enter image description here

超级简单。这与Octopus IIRC中的步骤大致相同。