GitVersion, похоже, не устанавливает переменные среды в файле csproj.C#

Место общения программистов C#
Ответить
Anonymous
 GitVersion, похоже, не устанавливает переменные среды в файле csproj.

Сообщение Anonymous »

Я разрабатываю приложение WinForms на C# и пытаюсь интегрировать GitVersion.
У меня есть GitVersion.yml в корне репозитория...

Код: Выделить всё

mode: ContinuousDeployment
branches:
features:
regex: ^features[/-]
label: 'alpha'
increment: Patch
develop:
regex: ^develop$
label: 'beta'
increment: Patch
main:
regex: ^main$
label: ''
increment: Minor
release:
regex: ^release[/-]
label: ''
increment: Minor
ignore:
sha: []
merge-message-formats: {}
Я установил GitVersion на компьютер и подтвердил, что он работает...

Код: Выделить всё

D:\_dotNet\challenger>dotnet gitversion /output json
{
"AssemblySemFileVer": "8.0.0.0",
"AssemblySemVer": "8.0.0.0",
"BranchName": "develop",
"BuildMetaData": null,
"CommitDate": "2025-01-08",
"CommitsSinceVersionSource": 177,
"EscapedBranchName": "develop",
"FullBuildMetaData": "Branch.develop.Sha.815d23fe8922aa33c4b6b1d82b3132a6fcd73c72",
"FullSemVer": "8.0.0-beta.177",
"InformationalVersion": "8.0.0-beta.177+Branch.develop.Sha.815d23fe8922aa33c4b6b1d82b3132a6fcd73c72",
"Major": 8,
"MajorMinorPatch": "8.0.0",
"Minor": 0,
"Patch": 0,
"PreReleaseLabel": "beta",
"PreReleaseLabelWithDash": "-beta",
"PreReleaseNumber": 177,
"PreReleaseTag": "beta.177",
"PreReleaseTagWithDash": "-beta.177",
"SemVer": "8.0.0-beta.177",
"Sha": "815d23fe8922aa33c4b6b1d82b3132a6fcd73c72",
"ShortSha": "815d23f",
"UncommittedChanges": 0,
"VersionSourceSha": "",
"WeightedPreReleaseNumber": 177
}

D:\_dotNet\challenger>
...и я установил пакет GitVersion.MsBuild в проект приложения.
Я также добавил следующее в .csproj файл...

Код: Выделить всё

    





$(AssemblySemVer)
$(AssemblySemFileVer)
$(InformationalVersion)









Что бы я ни делал, я просто не могу получить правильные номера версий в exe-файле.
Каждый раз, когда я собираю, версии, отображаемые в EXE,...

Код: Выделить всё

File Version: 8.0.0.0
Product Version: 8.0.0+
Последний даже не является одним из форматов, доступных из переменных (см. вывод json выше).
Я вижу, что GitVersion вызывается из журнал, и ошибок, похоже, нет, значения просто не переносятся. Я добавил раздел LogGitVersionVariables в .csproj для вывода значений необходимых переменных во время сборки, но они отображаются как пустые...

Код: Выделить всё

Target LogGitVersionVariables:
8>  Task "Message"
8>    GitVersion_FullSemVer:
8>  Done executing task "Message".
8>  Task "Message"
8>    GitVersion_AssemblySemVer:
8>  Done executing task "Message".
8>  Task "Message"
8>    GitVersion_AssemblySemFileVer:
8>  Done executing task "Message".
8>  Task "Message"
8>    GitVersion_InformationalVersion:
8>  Done executing task "Message".
Почему-то значения не передаются из GitVersion в процесс сборки, но я не могу понять, почему.
Если я установите значение следующей версии в yml, кажется, оно используется, а тег git - нет.
У кого-нибудь есть идеи, потому что у меня их нет

Подробнее здесь: https://stackoverflow.com/questions/793 ... sproj-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»