Наличие 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 атрибут через регулярное выражение.

Другие вопросы по тегам