GitVersion scheint keine Umgebungsvariablen in der csproj-Datei festzulegenC#

Ein Treffpunkt für C#-Programmierer
Guest
 GitVersion scheint keine Umgebungsvariablen in der csproj-Datei festzulegen

Post by Guest »

Ich entwickle eine WinForms-App in C# und versuche, GitVersion zu integrieren.
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: {}
Ich habe GitVersion auf der Box installiert und bestätigt, dass es funktioniert...

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>
...und ich habe das GitVersion.MsBuild-Paket im Anwendungsprojekt installiert.
Ich habe außerdem Folgendes zur .csproj hinzugefügt Datei...

Code: Select all

    





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









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...

Code: Select all

File Version: 8.0.0.0
Product Version: 8.0.0+
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...

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".
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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post