(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Version-Klasse

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>

Der Version-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeVersion()Initialisiert eine neue Instanz der Version-Klasse.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsVersion(String)Initialisiert eine neue Instanz der Version-Klasse unter Verwendung der angegebenen Zeichenfolge.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsVersion(Int32, Int32)Initialisiert eine neue Instanz der Version-Klasse mit den angegebenen Werten für Haupt- und Nebenversion.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsVersion(Int32, Int32, Int32)Initialisiert eine neue Instanz der Version-Klasse mit den angegebenen Werten für Haupt- und Nebenversion sowie für Build.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsVersion(Int32, Int32, Int32, Int32)Initialisiert eine neue Instanz der Version-Klasse mit den angegebenen Hauptversions-, Nebenversions-, Build- und Revisionsnummern.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBuildRuft den Wert der Buildkomponente der Versionsnummer für das aktuelle Version-Objekt ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMajorRuft den Wert der Hauptkomponente der Versionsnummer für das aktuelle Version-Objekt ab.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMajorRevisionRuft die oberen 16 Bits der Revisionsnummer ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMinorRuft den Wert der Nebenkomponente der Versionsnummer für das aktuelle Version-Objekt ab.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMinorRevisionRuft die unteren 16 Bits der Revisionsnummer ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsRevisionRuft den Wert der Revisionskomponente der Versionsnummer für das aktuelle Version-Objekt ab.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkCloneGibt ein neues Version-Objekt zurück, dessen Wert mit dem aktuellen Version-Objekt identisch ist.
Öffentliche MethodeUnterstützt von XNA FrameworkCompareTo(Object)Vergleicht das aktuelle Version-Objekt mit einem angegebenen Objekt und gibt eine Angabe über das Verhältnis der jeweiligen Werte zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCompareTo(Version)Vergleicht das aktuelle Version-Objekt mit einem angegebenen Version-Objekt und gibt eine Angabe über das Verhältnis der jeweiligen Werte zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEquals(Object)Gibt einen Wert zurück, der angibt, ob das aktuelle Version-Objekt einem angegebenen Objekt entspricht. (Überschreibt Object.Equals(Object).)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEquals(Version)Gibt einen Wert zurück, der angibt, ob das aktuelle Version-Objekt und ein angegebenes Version-Objekt denselben Wert darstellen.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeGibt einen Hashcode für das aktuelle Version-Objekt zurück. (Überschreibt Object.GetHashCode().)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsParseKonvertiert die Zeichenfolgendarstellung einer Versionsnummer in ein entsprechendes Version-Objekt.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToString()Konvertiert den Wert des aktuellen Version-Objekts in die entsprechende String-Darstellung. (Überschreibt Object.ToString().)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToString(Int32)Konvertiert den Wert des aktuellen Version-Objekts in die entsprechende String-Darstellung. Eine angegebene Anzahl bezieht sich auf die Anzahl der zurückzugebenden Komponenten.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryParseVersucht, die Zeichenfolgendarstellung einer Versionsnummer in ein entsprechendes Version-Objekt zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.
Zum Seitenanfang

  NameBeschreibung
Öffentlicher OperatorStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEqualityBestimmt, ob zwei Version-Objekte gleich sind.
Öffentlicher OperatorStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGreaterThanBestimmt, ob das erste angegebene Version-Objekt größer als das zweite angegebene Version-Objekt ist.
Öffentlicher OperatorStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGreaterThanOrEqualBestimmt, ob das erste angegebene Version-Objekt größer oder gleich dem zweiten angegebenen Version-Objekt ist.
Öffentlicher OperatorStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsInequalityBestimmt, ob zwei angegebene Version-Objekte ungleich sind.
Öffentlicher OperatorStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsLessThanBestimmt, ob das erste angegebene Version-Objekt kleiner als das zweite angegebene Version-Objekt ist.
Öffentlicher OperatorStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsLessThanOrEqualBestimmt, ob das erste angegebene Version-Objekt kleiner oder gleich dem zweiten Version-Objekt ist.
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIComparable.CompareToVergleicht die aktuelle Instanz mit einem anderen Objekt vom selben Typ und gibt eine ganze Zahl zurück, die angibt, ob die aktuelle Instanz in der Sortierreihenfolge vor oder nach dem anderen Objekt oder an derselben Position auftritt.
Zum Seitenanfang

Versionsnummern bestehen aus zwei bis vier Komponenten: Haupt- und Nebenversion sowie Build- und Revision. Die Haupt- und Nebenkomponenten sind erforderlich; die Build- und Revisionskomponenten sind optional, allerdings ist die Buildkomponente erforderlich, wenn die Revisionskomponente definiert wurde. Alle definierten Komponenten müssen ganze Zahlen sein, die größer als oder gleich 0 (null) sind. Das Format der Versionsnummer ist wie folgt (optionale Komponenten werden in eckigen Klammern ([und]) dargestellt):

major.minor[.build[.revision]]

Die Komponenten werden konventionsgemäß wie folgt verwendet:

  • Major: Assemblys mit demselben Namen, aber unterschiedlichen Hauptversionen sind nicht austauschbar. Eine höhere Versionsnummer könnte auf eine umfassende Überarbeitung eines Produkts hinweisen, wo keine Abwärtskompatibilität angenommen werden kann.

  • Minor: Wenn der Name und die Hauptversionsnummer für zwei Assemblys gleich sind, die Nebenversionsnummern sich jedoch unterscheiden, weist dies auf eine wesentliche Verbesserung hin, bei der jedoch eine Abwärtskompatibilität angestrebt wurde. Diese höhere Nebenversionsnummer könnte eine Point Release eines Produkts oder eine vollständig abwärtskompatible neue Version eines Produkts angeben.

  • Build: Eine unterschiedliche Buildnummer verweist auf eine Neukompilierung desselben Quellcodes. Andere Buildnummern könnten verwendet werden, wenn sich der Prozessor, die Plattform oder der Compiler ändert.

  • Revision: Assemblys mit demselben Namen, derselben Haupt- und Nebenversionsnummer, aber unterschiedlichen Revisionen sollen vollständig austauschbar sein. Eine höhere Revisionsnummer könnte in einem Build verwendet werden, der eine Sicherheitslücke in einer zuvor freigegebenen Assembly fixiert.

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

Beginnend mit .NET Framework 2.0 können Sie mit den MajorRevision-Eigenschaften und den MinorRevision-Eigenschaften eine temporäre Version Ihrer Anwendung identifizieren, um beispielsweise ein Problem zu beheben, für das gegenwärtig noch keine dauerhafte Lösung erhältlich ist. Darüber hinaus verwendet das Betriebssystem Windows NT die MajorRevision-Eigenschaft, um die Nummer des Service Packs zu codieren.

Zuweisen von Versionsinformationen zu Assemblys

Normalerweise wird die Version-Klasse nicht verwendet, um einer Assembly eine Versionsnummer zuzuweisen. Stattdessen wird die AssemblyVersionAttribute-Klasse verwendet, um die Version einer Assembly zu definieren, wie vom Beispiel in diesem Thema illustriert.

Abrufen von Versionsinformationen

Version -Objekte werden am häufigsten verwendet, um Versionsinformationen einer System- oder Anwendungskomponente (z. B. das Betriebssystem), der Common Language Runtime, der ausführbaren Datei der aktuellen Anwendung oder einer bestimmten Assembly zu speichern. In den folgenden Beispielen werden einige der häufigsten Szenarios veranschaulicht:

  • Abrufen der Betriebssystemversion. Im folgenden Beispiel wird mit der OperatingSystem.Version-Eigenschaft die Versionsnummer des Betriebssystems abgerufen.

    
    // 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 verwendet, um Versionsinformationen über die Common Language Runtime abzurufen.

    
    // Get the common language runtime version.
    Version ver = Environment.Version;
    Console.WriteLine("CLR Version {0}", ver.ToString());
    
    
    
  • Abrufen der aktuellen Assemblyversion der Anwendung. Im folgenden Beispiel verwendet die Assembly.GetEntryAssembly-Methode, um einen Verweis auf ein Assembly-Objekt abzurufen, das die EXE-Datei der Anwendung darstellt und dann ihre Assemblyversionsnummer abruft.

    
    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 Assemblyversion der Assemblys. Im folgenden Beispiel wird die Assembly.GetExecutingAssembly-Methode verwendet, um einen Verweis auf ein Assembly-Objekt abzurufen, das die aktuelle Assembly darstellt, und anschließend werden ihre Versionsinformationen abgerufen.

    
    using System;
    using System.Reflection;
    
    public class Example
    {
       public static void Main()
       {
          // Get the version of the current assembly.
          Assembly assem = Assembly.GetExecutingAssembly();
          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 verwendet, um einen Verweis auf ein Assembly-Objekt abzurufen, das über einen bestimmten Dateinamen verfügt, und anschließend werden seine Versionsinformationen abgerufen. Beachten Sie, dass auch mehrere andere Methoden vorhanden sind, um ein Assembly-Objekt nach Dateinamen oder starkem Namen zu instanziieren.

    
    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 Veröffentlichungsversion einer ClickOnce-Anwendung. Im folgenden Beispiel wird die Eigenschaft ApplicationDeployment.CurrentVersion, um einer Anwendung anzuzeigen veröffentlichen Version. Beachten Sie, dass ihre erfolgreiche Ausführung die Anwendungsidentität des Beispiels benötigen festgelegt. Dies wird automatisch vom Visual Studio-Veröffentlichungs-Assistenten behandelt.

    
    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);
       }
    }
    
    
    
    Wichtiger HinweisWichtig

    Veröffentlichungsversion Die einer Anwendung für die ClickOnce-Bereitstellung wurde aus der Assemblyversion vollkommen unabhängig.

Vergleichen von Versionsobjekten

Sie können die CompareTo-Methode verwenden, um zu ermitteln, ob ein Version-Objekt früher oder später als ein zweites oder gleich einem zweiten Version-Objekt ist. Das folgende Beispiel gibt an, dass Version 2.1 höher als Version 2.0 ist.


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.


Damit zwei Versionen gleich sind, müssen die Haupt-, Neben-, Build- und Revisionsnummern des ersten Version-Objekts mit jenen des zweiten Version-Objekts identisch sein. Wenn die Build- oder der Revisionsnummer eines Version-Objekts nicht definiert ist, wird von diesem Version-Objekt angenommen, dass es vor einem Version-Objekt liegt, deren Build- oder Revisionsnummer gleich 0 (null) ist. Im folgenden Beispiel wird dies veranschaulicht, indem drei Version-Objekte verglichen werden, die undefinierte Versionskomponenten besitzen.


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


Das folgende Beispiel weist einer Assembly mithilfe des AssemblyVersionAttribute-Attributs eine Versionsnummer zu. Zur Kompilierzeit werden diese Versionsinformationen mit den Metadaten der Assembly gespeichert. Das Beispiel ruft zur Laufzeit einen Verweis auf die ausführbare Assembly mithilfe der Assembly.GetExecutingAssembly-Methode ab und ruft die Versionsinformationen der Assembly aus der Version-Eigenschaft des AssemblyName-Objekts ab, die von der Assembly.GetName-Methode zurückgegeben wurde.


using System;
using System.Reflection;

[assembly:AssemblyVersionAttribute("2.0.1")]

public class Example1
{
   public static void Main()
   {
      Assembly thisAssem = Assembly.GetExecutingAssembly();
      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.


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft