Наличие F# FAKE для вставки версии в project.json проекта ASP .NET 5
Моя команда использует скрипты F# FAKE для своих скриптов сборки во всех наших проектах. Недавно мы начали работать с ASP .NET 5, но не выяснили, как внедрить номер версии сборки в файл project.json проекта, как это можно сделать с помощью файла AssemblyInfo.cs в не-ASP .NET 5 проектах. Кто-нибудь придумает решение, как внедрить версию как часть процесса непрерывной интеграции?
2 ответа
Вы можете DNX_BUILD_VERSION
переменная окружения для установки версии пакета. Что сделаю dnx
заменить *
в версии в project.json
с определенной версией: https://github.com/aspnet/dnx/blob/dev/src/Microsoft.Dnx.Runtime/ProjectReader.cs#L36-L51
Например, если project.json
файл имеет:
"version": "1.0.0-*"
и вы установили DNX_BUILD_VERSION
в beta-23
тогда окончательная версия будет 1.0.0-beta-23
Однако я не думаю, что у нас есть какая-либо поддержка для полной замены версии чем-то другим. Это работает только тогда, когда у вас есть *
версия.
Затем вы можете использовать DNX_ASSEMBLY_FILE_VERSION
установить AssemblyFileVersion
атрибут:
Я не нашел какой-либо конкретной функции для работы project.json
файл в самом подделке, но вы можете попробовать использовать RegexReplaceInFileWithEncoding
( http://fsharp.github.io/FAKE/apidocs/fake-filehelper.html) заменить version
атрибут через регулярное выражение.