2017-02-21 14 views
2

У меня есть приложение .NET Core MVC, которое построено с использованием TFS онлайн и опубликовано в Azure с использованием материалов управления версиями в TFS в Интернете. Все очень приятно..NET Core App - Как получить номер сборки во время выполнения

Что бы я хотел сделать, это показать, что мое приложение отображает номер сборки где-то. Неважно, где ... но, например, в конечной точке WebAPI, например/api/buildversion.

Может ли кто-нибудь помочь с тем, как я могу получить номер сборки TFS во время выполнения? Когда приложение упаковано/опубликовано, есть ли какой-либо файл, который содержит номер сборки, который я могу получить из приложения?

+0

Если мое решение решает вашу проблему, вы можете принять его как ответ. –

+0

Извините за задержку, принято! И еще раз спасибо! – Paul

ответ

5

Простой способ состоит в том, что вы можете сохранить номер сборки в файле (например, 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

+0

Это прекрасно, попробовал, и он работает как шарм! Большое спасибо!! – Paul

2

Вам нужно сохранить номер сборки в своем приложении во время компиляции.

Вы можете получить доступ к номеру сборки с помощью $ Build.BuildNumber или $ Env: BUILD_BUILDNUMBER в зависимости от вашей среды. Обычно я пишу его как переменную в свою ApplicationInfo. * Как с версией, так и по номеру сборки.

+0

Имеет смысл! Можете ли вы помочь с некоторыми деталями, поскольку я не эксперт в Team Build. Я имею в виду, нужен ли мне небольшой скрипт PowerShell или что я должен использовать для записи в файл приложения? – Paul

+0

Просто поиск этой проблемы даст множество результатов. Попробуйте что-нибудь, и если у вас возникнут проблемы, добавьте дополнительные вопросы ... –

+0

Спасибо! Ответ @ starain выглядит так, как будто это именно то, что я после – Paul

0

Существует более простой способ, чем добавить больше плагинов и библиотек. Если вы используете метод развертывания веб-/ приложение, разверните Файл Превращает & Переменные enter image description here

Предполагая, что вы хотите обновить сказать значение номер сборки в вашем appsettings.json

enter image description here

Тогда просто обновить переменные, установленные в вашем определении выпуска VSTS enter image description here

Super easy. Это более или менее те же самые шаги в Octopus IIRC.

Смежные вопросы