Build.SourceVersion является пустым в VSO vNext Build

Я использую новые возможности сборки с помощью сценариев в Visual Studio Online (а не определения сборки XAML) и пытаюсь, чтобы номер версии сборки включал последний идентификатор Git Commit целевого репозитория с использованием формата номера сборки.

Я использую следующий формат номера сборки:

$(MajorVersion).$(MinorVersion).$(BuildId).$(SourceVersion)

В результате чего генерируется номер версии1.0.1234. Т.е. значение SourceVersion пустое, что приводит к ошибке в VSO при постановке в очередь на сборку. Я также попытался определить переменную, поставив перед ней префиксBuild. с тем же результатом. Чтобы проверить, я изменил номер сборки на следующий формат:

$(MajorVersion).$(MinorVersion).$(BuildId).$(SourceBranch)

Это правильно приводит к значению1.0.1234.refs_heads_master

Я использовалПредопределенные переменные ссылка и Build.SourceVersion указаны в качестве глобальной переменной.

Я делаю что-то не так, столкнулся ли я с ошибкой или это было сделано по замыслу и недоступно во время сборки? Если это сделано специально, есть ли способ автоматически включить короткий идентификатор Git Commit в формат номера сборки?

Здесь я устанавливаю формат номера сборки в VSO:

Это ошибка, которую я вижу, когда я не указываю явно Git CommitId:

400: строка формата номера сборки $ (MajorVersion). $ (MinorVersion). $ (BuildId). $ (SourceVersion) сгенерировала номер сборки 0.1.1. который содержит недопустимые символы, слишком длинный или оканчивается на «.». Максимальная длина номера сборки составляет 255 символов. К символам, которые не допускаются, относятся «», «/», «:», «<», «>», «\», «|», «?», «@» И «*».

Ответы на вопрос(3)

Ваш ответ на вопрос