GitVersion scheint keine Umgebungsvariablen in der csproj-Datei festzulegen
Posted: 08 Jan 2025, 08:19
Ich entwickle eine WinForms-App in C# und versuche, GitVersion zu integrieren.
Ich habe die GitVersion.yml im Stammverzeichnis des Repos...
Ich habe GitVersion auf der Box installiert und bestätigt, dass es funktioniert...
...und ich habe das GitVersion.MsBuild-Paket im Anwendungsprojekt installiert.
Ich habe außerdem Folgendes zur .csproj hinzugefügt Datei...
Egal was ich mache, ich bekomme einfach nicht die richtigen Versionsnummern in die Exe-Datei.
Jedes Mal, wenn ich baue, wird die Versionen, die in der EXE angezeigt werden, sind...
Letzteres ist nicht einmal eines der von den Variablen verfügbaren Formate (siehe JSON-Ausgabe oben).
Ich kann sehen, dass GitVersion von aufgerufen wird das Protokoll und es scheint keine Fehler zu geben, die Werte scheinen einfach nicht übertragen zu werden. Ich habe den Abschnitt „LogGitVersionVariables“ zum .csproj hinzugefügt, um die Werte der erforderlichen Variablen während des Builds auszugeben, aber sie werden als leer angezeigt...
Irgendwie scheinen die Werte nicht von GitVersion in den Build-Prozess zu gelangen, aber ich kann nicht herausfinden, warum.
Wenn ich Legen Sie einen Wert für die nächste Version im YML fest. Er scheint verwendet zu werden, ein Git-Tag jedoch nicht.
Hat jemand eine Idee, weil ich keine Ahnung habe
Ich habe die GitVersion.yml im Stammverzeichnis des Repos...
Code: Select all
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: {}
Code: Select all
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>
Ich habe außerdem Folgendes zur .csproj hinzugefügt Datei...
Code: Select all
$(AssemblySemVer)
$(AssemblySemFileVer)
$(InformationalVersion)
Jedes Mal, wenn ich baue, wird die Versionen, die in der EXE angezeigt werden, sind...
Code: Select all
File Version: 8.0.0.0
Product Version: 8.0.0+
Ich kann sehen, dass GitVersion von aufgerufen wird das Protokoll und es scheint keine Fehler zu geben, die Werte scheinen einfach nicht übertragen zu werden. Ich habe den Abschnitt „LogGitVersionVariables“ zum .csproj hinzugefügt, um die Werte der erforderlichen Variablen während des Builds auszugeben, aber sie werden als leer angezeigt...
Code: Select all
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".
Wenn ich Legen Sie einen Wert für die nächste Version im YML fest. Er scheint verwendet zu werden, ein Git-Tag jedoch nicht.
Hat jemand eine Idee, weil ich keine Ahnung habe