Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Version-Klasse

 

Veröffentlicht: Oktober 2016

Stellt die Versionsnummer einer Assembly, eines Betriebssystems oder der Common Language Runtime dar. Diese Klasse kann nicht vererbt werden.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)


[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class Version : ICloneable, IComparable, IComparable<Version>, 
	IEquatable<Version>

NameBeschreibung
System_CAPS_pubmethodVersion()

Initialisiert eine neue Instanz der Version-Klasse.

System_CAPS_pubmethodVersion(Int32, Int32)

Initialisiert eine neue Instanz der dem Version -Klasse mit den angegebenen Werten für Haupt- und Hilfsteilstriche.

System_CAPS_pubmethodVersion(Int32, Int32, Int32)

Initialisiert eine neue Instanz der Version -Klasse unter Verwendung der angegebenen Haupt-und Nebenversion und Werte zu erstellen.

System_CAPS_pubmethodVersion(Int32, Int32, Int32, Int32)

Initialisiert eine neue Instanz der dem Version -Klasse mit angegebenen Haupt-oder Nebenversion, Build- und Revisionsnummern.

System_CAPS_pubmethodVersion(String)

Initialisiert eine neue Instanz der Version-Klasse unter Verwendung der angegebenen Zeichenfolge.

NameBeschreibung
System_CAPS_pubpropertyBuild

Ruft den Wert der Buildkomponente der Versionsnummer für das aktuelle Version Objekt.

System_CAPS_pubpropertyMajor

Ruft den Wert der Hauptkomponente der Versionsnummer für das aktuelle Version Objekt.

System_CAPS_pubpropertyMajorRevision

Ruft die oberen 16 Bits der Revisionsnummer ab.

System_CAPS_pubpropertyMinor

Ruft den Wert der Nebenversionskomponente der Versionsnummer für das aktuelle Version Objekt.

System_CAPS_pubpropertyMinorRevision

Ruft die unteren 16 Bits der Revisionsnummer ab.

System_CAPS_pubpropertyRevision

Ruft den Wert von Revisionskomponente der Versionsnummer für das aktuelle Version Objekt.

NameBeschreibung
System_CAPS_pubmethodClone()

Gibt eine neue Version -Objekt, dessen Wert identisch mit der aktuellen ist Version Objekt.

System_CAPS_pubmethodCompareTo(Object)

Vergleicht den aktuellen Version Objekt mit einem angegebenen Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück.

System_CAPS_pubmethodCompareTo(Version)

Vergleicht den aktuellen Version mit einem angegebenen Objekt Version -Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück.

System_CAPS_pubmethodEquals(Object)

Gibt einen Wert, der angibt, ob die aktuelle Version -Objekt gleich einem angegebenen Objekt ist.(Überschreibt Object.Equals(Object).)

System_CAPS_pubmethodEquals(Version)

Gibt einen Wert, der angibt, ob die aktuelle Version -Objekt und ein angegebenes Version -Objekt denselben Wert darstellen.

System_CAPS_pubmethodGetHashCode()

Gibt einen Hashcode für die aktuelle Version Objekt.(Überschreibt Object.GetHashCode().)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

Konvertiert die Zeichenfolgendarstellung eine Versionsnummer in eine gleichbedeutende Version Objekt.

System_CAPS_pubmethodToString()

Konvertiert den Wert des aktuellen Version Objekt in die entsprechende String Darstellung.(Überschreibt Object.ToString().)

System_CAPS_pubmethodToString(Int32)

Konvertiert den Wert des aktuellen Version Objekt in die entsprechende String Darstellung. Eine angegebene Anzahl bezieht sich auf die Anzahl der zurückzugebenden Komponenten.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, Version)

Versucht, konvertieren die Darstellung einer Versionsnummer in eine gleichbedeutende Version -Objekt und gibt einen Wert, der angibt, ob die Konvertierung erfolgreich war.

NameBeschreibung
System_CAPS_puboperatorSystem_CAPS_staticEquality(Version, Version)

Bestimmt, ob zwei Version-Objekte gleich sind.

System_CAPS_puboperatorSystem_CAPS_staticGreaterThan(Version, Version)

Bestimmt, ob das erste angegebene Version -Quellobjekt ist größer als das zweite angegebene Version Objekt.

System_CAPS_puboperatorSystem_CAPS_staticGreaterThanOrEqual(Version, Version)

Bestimmt, ob das erste angegebene Version Objekt ist größer als oder gleich dem zweiten angegebenen Version Objekt.

System_CAPS_puboperatorSystem_CAPS_staticInequality(Version, Version)

Bestimmt, ob zwei angegebene Version-Objekte ungleich sind.

System_CAPS_puboperatorSystem_CAPS_staticLessThan(Version, Version)

Bestimmt, ob das erste angegebene Version -Objekts kleiner ist als das zweite angegebene Version Objekt.

System_CAPS_puboperatorSystem_CAPS_staticLessThanOrEqual(Version, Version)

Bestimmt, ob das erste angegebene Version Objekt ist kleiner als oder gleich dem zweiten Version Objekt.

Versionsnummern bestehen aus zwei bis vier Komponenten: Haupt- und Nebenversion, Build und Revision. Die Haupt- und Nebenversionsnummern Komponenten sind erforderlich; die Build- und Revisionsnummern Komponenten sind optional, aber die Buildkomponente ist erforderlich, wenn die Revisionskomponente definiert ist. Alle definierte Komponenten müssen ganze Zahlen größer oder gleich 0 sein. Das Format der Versionsnummer lautet wie folgt (optionale Komponenten werden angezeigt, in eckige Klammern ([und]):

major. minor[. build[. Revision]]

Die Komponenten werden gemäß der Konvention verwendet:

  • Wichtige: Assemblys mit demselben Namen, aber unterschiedlichen Hauptversionen sind nicht austauschbar. Eine höhere Versionsnummer möglicherweise eine wichtige neue Version eines Produkts, in dem Abwärtskompatibilität ausgegangen werden kann.

  • Kleinere: Wenn Sie den Namen und die Hauptversionsnummer für zwei Assemblys identisch sind, aber die Nebenversionsnummer unterscheidet, wird hiermit bedeutende Verbesserung um Abwärtskompatibilität zu gewährleisten. Diese höhere Nebenversionsnummer hinweisen, dass eine Punkt-Version eines Produkts oder eine vollständig abwärtskompatibel ist für die neue Version eines Produkts.

  • Erstellen Sie: ein Unterschied in Buildnummer stellt eine Neukompilierung der gleichen Quelle. Andere Buildnummern können verwendet werden, wenn sich der Prozessor, der Plattform oder der Compiler ändert.

  • Revision: Assemblys mit dem gleichen Namen, Haupt-und Nebenversionsnummern Zahlen, aber unterschiedlichen Revisionen sollten vollständig austauschbar verwendet werden. Eine höhere Revisionsnummer kann in einem Build verwendet werden, die in einer zuvor veröffentlichten Assembly eine Sicherheitslücke geschlossen wurde.

Nachfolgende Versionen einer Assembly, die nur durch Build-oder Revisionsnummer unterscheiden gelten als Hotfix-Updates von der früheren Version.

System_CAPS_importantWichtig

Der Wert der Version Eigenschaften, die nicht explizit ein Wert zugewiesen wurde, ist nicht definiert (-1).

Beginnend mit .NET Framework 2.0, die MajorRevision und MinorRevision Eigenschaften ermöglichen es Ihnen, eine temporäre Version Ihrer Anwendung zu identifizieren, die z. B. ein Problem behebt, bis Sie eine dauerhafte Lösung freigeben können. Außerdem verwendet die Windows NT-Betriebssystem die MajorRevision Eigenschaft, um die Service Pack-Nummer zu codieren.

Normalerweise die Version Klasse wird nicht verwendet, eine Assembly eine Versionsnummer zugewiesen. Stattdessen die AssemblyVersionAttribute Klasse wird verwendet, um eine Assemblyversion zu definieren, wie im Beispiel in diesem Thema veranschaulicht.

VersionObjekte werden am häufigsten verwendet, um Versionsinformationen für eine System- oder anwendungskonfigurationseinstellungen-Komponente (z. B. das Betriebssystem), die common Language Runtime, die ausführbare Datei der aktuellen Anwendung oder einer bestimmten Assembly zu speichern. Die folgenden Beispiele veranschaulichen einige der häufigsten Szenarios:

  • Abrufen der Betriebssystemversion an. Im folgenden Beispiel wird die OperatingSystem.Version Eigenschaft, um die Versionsnummer des Betriebssystems abzurufen.

    // Get the operating system version.
    OperatingSystem os = Environment.OSVersion;
    Version ver = os.Version;
    Console.WriteLine("Operating System: {0} ({1})", os.VersionString, ver.ToString());
    
  • Abrufen der Version der common Language Runtime. Im folgenden Beispiel wird die Environment.Version Eigenschaft zum Abrufen von Informationen über die common Language Runtime Version.

    // Get the common language runtime version.
    Version ver = Environment.Version;
    Console.WriteLine("CLR Version {0}", ver.ToString());
    
  • Abrufen der aktuellen Anwendung Assemblyversion. Im folgenden Beispiel wird die Assembly.GetEntryAssembly Methode zum Abrufen eines Verweises auf ein Assembly Objekt, das ausführbare Datei der Anwendung darstellt, und ruft dann die Versionsnummer der Assembly ab.

    using System;
    using System.Reflection;
    
    public class Example
    {
       public static void Main()
       {
          // Get the version of the executing assembly (that is, this assembly).
          Assembly assem = Assembly.GetEntryAssembly();
          AssemblyName assemName = assem.GetName();
          Version ver = assemName.Version;
          Console.WriteLine("Application {0}, Version {1}", assemName.Name, ver.ToString());
       }
    }
    
  • Abrufen der aktuellen Assembly Assemblyversion. Im folgenden Beispiel wird die Type.Assembly Eigenschaft zum Abrufen eines Verweises auf ein Assembly Objekt, das die Assembly, der Einstiegspunkt der Anwendung enthält darstellt, und klicken Sie dann die Versionsinformationen abgerufen.

    using System;
    using System.Reflection;
    
    public class Example
    {
       public static void Main()
       {
          // Get the version of the current assembly.
          Assembly assem = typeof(Example).Assembly;
          AssemblyName assemName = assem.GetName();
          Version ver = assemName.Version;
          Console.WriteLine("{0}, Version {1}", assemName.Name, ver.ToString());
       }
    }
    
  • Abrufen der Version einer bestimmten Assembly. Im folgenden Beispiel wird die Assembly.ReflectionOnlyLoadFrom Methode zum Abrufen eines Verweises auf ein Assembly -Objekt, verfügt über einen bestimmten Dateinamen, und klicken Sie dann die Versionsinformationen abgerufen. Beachten Sie, dass mehrere andere Methoden auch vorhanden, zum Instanziieren sein einer Assembly Objekt anhand des Dateinamens oder durch einen starken Namen.

    using System;
    using System.Reflection;
    
    public class Example
    {
       public static void Main()
       {
          // Get the version of a specific assembly.
          string filename = @".\StringLibrary.dll";
          Assembly assem = Assembly.ReflectionOnlyLoadFrom(filename);
          AssemblyName assemName = assem.GetName();
          Version ver = assemName.Version;
          Console.WriteLine("{0}, Version {1}", assemName.Name, ver.ToString());
       }
    }
    
  • Abrufen der Version Veröffentlichen einer ClickOnce-Anwendung. Im folgenden Beispiel wird die ApplicationDeployment.CurrentVersion Eigenschaft, um einer Anwendungsverzeichnis Veröffentlichungsversion anzuzeigen. Beachten Sie, dass die erfolgreiche Ausführung der Beispiel-Anwendungsidentität festgelegt werden muss. Dies erfolgt automatisch durch die Visual Studio-Veröffentlichungs-Assistenten.

    using System;
    using System.Deployment.Application;
    
    public class Example
    {
       public static void Main()
       {
          Version ver = ApplicationDeployment.CurrentDeployment.CurrentVersion;
          Console.WriteLine("ClickOnce Publish Version: {0}", ver);
       }
    }
    
    System_CAPS_importantWichtig

    Die Version Veröffentlichen einer Anwendung für die ClickOnce-Bereitstellung ist unabhängig von der Version der Assembly.

Können Sie die CompareTo Methode, um zu bestimmen, ob eine Version -Objekt liegt vor, die gleiche, oder später als eine Sekunde Version Objekt. Das folgende Beispiel gibt an, dass Version 2.1 höher als Version 2.0.

Version v1 = new Version(2, 0);
Version v2 = new Version("2.1");
Console.Write("Version {0} is ", v1);
switch(v1.CompareTo(v2))
{
   case 0:
      Console.Write("the same as");
      break;
   case 1:
      Console.Write("later than");
      break;
   case -1:
      Console.Write("earlier than");
      break;
}
Console.WriteLine(" Version {0}.", v2);                  
// The example displays the following output:
//       Version 2.0 is earlier than Version 2.1.

Für zwei Versionen gleich, die Haupt-und Nebenversionsnummern, build, und Revisionsnummern des ersten Version Objekt muss identisch mit denen des zweiten Version Objekt. Wenn der Build oder Revision Anzahl von einer Version Objekt ist nicht definiert ist, Version Objekt gilt als liegen ein Version -Objekt, dessen Build oder Revisionsnummer gleich 0 (null). Das folgende Beispiel veranschaulicht dies durch Vergleichen der drei Version Objekte, die nicht Versionskomponenten definiert haben.

using System;

enum VersionTime {Earlier = -1, Same = 0, Later = 1 };

public class Example
{
   public static void Main()
   {
      Version v1 = new Version(1, 1);
      Version v1a = new Version("1.1.0");
      ShowRelationship(v1, v1a);

      Version v1b = new Version(1, 1, 0, 0);
      ShowRelationship(v1b, v1a);
   }

   private static void ShowRelationship(Version v1, Version v2)
   {
      Console.WriteLine("Relationship of {0} to {1}: {2}", 
                        v1, v2, (VersionTime) v1.CompareTo(v2));       
   }
}
// The example displays the following output:
//       Relationship of 1.1 to 1.1.0: Earlier
//       Relationship of 1.1.0.0 to 1.1.0: Later

Im folgenden Beispiel wird die AssemblyVersionAttribute Attribut auf eine Assembly eine Versionsnummer zugewiesen. Zum Zeitpunkt der Kompilierung wird diese Versionsinformationen mit den Metadaten der Assembly gespeichert. Zur Laufzeit ruft das Beispiel den Wert des der Type.Assembly Eigenschaft für einen Typ in der Assembly zum Abrufen eines Verweises auf die derzeit ausgeführte Assembly gefunden, und es ruft Versionsinformationen aus der Assembly ab der Version Eigenschaft von der AssemblyName zurückgegebenes Objekt die Assembly.GetName Methode.

using System;
using System.Reflection;

[assembly:AssemblyVersionAttribute("2.0.1")]

public class Example1
{
   public static void Main()
   {
      Assembly thisAssem = typeof(Example1).Assembly;
      AssemblyName thisAssemName = thisAssem.GetName();

      Version ver = thisAssemName.Version;

      Console.WriteLine("This is version {0} of {1}.", ver, thisAssemName.Name);    
   }
}
// The example displays the following output:
//        This is version 2.0.1.0 of Example1.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: