Angabe der Assemblyversion in .fsproj für .NET Core

8

Ich versuche, die Assemblyversion in einer .NET Core (2.0) -Konsolenanwendung anzugeben, sodass ich programmgesteuert über:

darauf zugreifen kann %Vor%

Hinzufügen eines Versionsfelds zu einer Eigenschaftsgruppe meiner .fsproj-Datei, z. B .:

%Vor%

ändert nicht die Version, die von meiner Testanwendung gedruckt wird (es bleibt bei 0.0.0.0).

Was funktioniert, ist das Hinzufügen einer AssemblyInfo.fs-Datei, wo das AssemblyVersion-Attribut gesetzt wird, aber wenn möglich, möchte ich das vermeiden und die .fsproj-Datei verwenden. Ist das möglich?

Ich würde auch gerne einen Hinweis darauf haben, wo ich Dokumentation über .fsproj im Allgemeinen finden kann.

    
Alexander Battisti 06.10.2017, 15:18
quelle

2 Antworten

2

Hier gibt es ein Problem:

Erzeuge F # assemblyinfo in neuem fsproj

Kurz gesagt sollte es funktionieren, aber es ist nicht sofort.

    
Justin 18.11.2017, 23:58
quelle
5

Dokumentation von .fsproj Dateien

Ich glaube, das Format ist das gleiche wie csproj , was MSBuild betrifft

Sie können die offizielle Dokumentation über die csproj-Dateien hier finden:
Ссылка

Assembly Versionsnummer

Um die "Version" der Baugruppe zu erhalten, sollten Sie beachten, dass es verschiedene Arten von Versionen gibt:

  • AssemblyVersion :
    Numerischer Wert im Format "major.minor.build.revision" (z. B. 2.4.0.0). Die Common Language Runtime verwendet diesen Wert zum Ausführen von Bindungsoperationen in Assemblys mit starkem Namen.
    Hinweis: Wenn das AssemblyInformationalVersionAttribute -Attribut nicht auf eine Assembly angewendet wird, wird die Versionsnummer von% co_de angegeben % Attribut wird von den Eigenschaften AssemblyVersionAttribute , Application.ProductVersion und Application.UserAppDataPath verwendet.

  • AssemblyFileVersion :
    String-Wert, der die Versionsnummer der Win32-Datei angibt. Dies ist normalerweise die Assembly-Version.

  • AssemblyInformationalVersion :
    Zeichenfolgenwert, der Versionsinformationen angibt, die nicht von der Common Language Runtime verwendet werden, z. B. eine vollständige Produktversionsnummer.
    Hinweis: Wenn dieses Attribut auf eine Assembly angewendet wird, kann die angegebene Zeichenfolge sein zur Laufzeit mit der Eigenschaft Application.UserAppDataRegistry erhalten. Die Zeichenfolge wird auch im Pfad und Registrierungsschlüssel verwendet, der von den Eigenschaften Application.ProductVersion und Application.UserAppDataPath bereitgestellt wird.

  • Application.ProductVersion :
    Definiert zusätzliche Versionsinformationen für ein Assemblymanifest.

Sie können sich im einzelnen über die einzelnen offiziellen Stellen informieren Microsoft Docs hier - oder Sie können hier allgemein über Assemblies nachlesen :

Abrufen der verschiedenen Versionen von der referenzierten Assembly

%Vor%

Beachten Sie, dass das obige Code-Snippet aus einer Antwort auf eine ähnliche SO-Frage entnommen wurde.

Parsing der Application.UserAppDataRegistry -Datei direkt

Es gibt auch die Möglichkeit, die Datei .fsproj mit XML zu analysieren. Diese Option ist zum programmatischen Hinzufügen von Verweisen oder zum Überprüfen von Dateien vorgesehen. Dies trifft möglicherweise nicht auf Ihre Frage zu, aber hier handelt es sich um die Vollständigkeit der Antwort.

%Vor%     
Svek 07.10.2017 16:28
quelle

Tags und Links