エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Version クラス

2013/12/12

アセンブリ、オペレーティング システム、または共通言語ランタイムのバージョン番号を表します。このクラスは継承できません。

System.Object
  System.Version

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public sealed class Version : IComparable, 
	IComparable<Version>, IEquatable<Version>

Version 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドVersion(String)指定した文字列を使用して、Version クラスの新しいインスタンスを初期化します。
パブリック メソッドVersion(Int32, Int32)メジャー値とマイナー値を指定して、Version クラスの新しいインスタンスを初期化します。
パブリック メソッドVersion(Int32, Int32, Int32)メジャー値、マイナー値、およびビルド値を指定して、Version クラスの新しいインスタンスを初期化します。
パブリック メソッドVersion(Int32, Int32, Int32, Int32)メジャー番号、マイナー番号、ビルド番号、およびリビジョン番号を指定して、Version クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティBuild現在の Version オブジェクトのバージョン番号のビルド構成要素の値を取得します。
パブリック プロパティMajor現在の Version オブジェクトのバージョン番号のメジャー構成要素の値を取得します。
パブリック プロパティMajorRevisionリビジョン番号の上位 16 ビットを取得します。
パブリック プロパティMinor現在の Version オブジェクトのバージョン番号のマイナー構成要素の値を取得します。
パブリック プロパティMinorRevisionリビジョン番号の下位 16 ビットを取得します。
パブリック プロパティRevision現在の Version オブジェクトのバージョン番号のリビジョン構成要素の値を取得します。
このページのトップへ

  名前説明
パブリック メソッドClone現在の Version オブジェクトと同じ値を持つ新しい Version オブジェクトを返します。
パブリック メソッドCompareTo(Object)指定したオブジェクトと現在の Version オブジェクトを比較し、これらの相対値を示す値を返します。
パブリック メソッドCompareTo(Version)指定した Version オブジェクトと現在の Version オブジェクトを比較し、これらの相対値を示す値を返します。
パブリック メソッドEquals(Object)指定されたオブジェクトと現在の Version オブジェクトが等しいかどうかを示す値を返します。 (Object.Equals(Object) をオーバーライドします。)
パブリック メソッドEquals(Version)現在の Version オブジェクトと指定した Version オブジェクトが同じ値を表しているかどうかを示す値を返します。
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCode現在の Version オブジェクトのハッシュ コードを返します。 (Object.GetHashCode() をオーバーライドします。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッド静的メンバーParseバージョン番号の文字列形式を等価の Version オブジェクトに変換します。
パブリック メソッドToString()現在の Version オブジェクトの値を、それと等価な String 形式に変換します。 (Object.ToString() をオーバーライドします。)
パブリック メソッドToString(Int32)現在の Version オブジェクトの値を、それと等価な String 形式に変換します。指定された数は、返される構成要素の数を示します。
パブリック メソッド静的メンバーTryParseバージョン番号の文字列形式から等価の Version オブジェクトへの変換を試行し、変換が成功したかどうかを示す値を返します。
このページのトップへ

  名前説明
パブリック演算子静的メンバーEquality指定した 2 つの Version オブジェクトが等しいかどうかを判断します。
パブリック演算子静的メンバーGreaterThan最初に指定した Version オブジェクトが 2 番目に指定した Version オブジェクトよりも大きいかどうかを判断します。
パブリック演算子静的メンバーGreaterThanOrEqual最初に指定した Version オブジェクトが 2 番目に指定した Version オブジェクト以上であるかどうかを判断します。
パブリック演算子静的メンバーInequality指定した 2 つの Version オブジェクトが等しくないかどうかを判断します。
パブリック演算子静的メンバーLessThan最初に指定した Version オブジェクトが 2 番目に指定した Version オブジェクトより小さいかどうかを判断します。
パブリック演算子静的メンバーLessThanOrEqual最初に指定した Version オブジェクトが 2 番目に指定した Version オブジェクト以下かどうかを判断します。
このページのトップへ

バージョン番号は、メジャー、マイナー、ビルド、リビジョンなどの 2 ~ 4 つの構成要素で構成されます。メジャーおよびマイナー構成要素は必須です。ビルドおよびリビジョン構成要素は省略可能です。リビジョン構成要素を定義した場合は、ビルド構成要素も定義する必要があります。すべての構成要素は、0 以上の整数で定義する必要があります。バージョン番号の形式は、次のとおりです (オプションのコンポーネントは、角かっこ ([ と ]) で示されます)。

major.minor[.build[.revision]]

通常使用される構成要素を次に示します。

  • Major: 名前は同じでも、メジャー バージョンが異なるアセンブリは互換性がありません。上位のバージョン番号は、下位互換性を想定できない製品のメジャー リライトを示すことがあります。

  • Minor: 2 つのアセンブリにおいて、名前とメジャー バージョン番号が同じでも、マイナー バージョン番号が異なる場合は、下位互換性を目的とした大幅な改良が行われていることを示します。この新しいマイナー バージョン番号は、製品のポイント リリースや、完全下位互換の新しいバージョンの製品を示すことがあります。

  • Build: ビルド番号が異なる場合は、同一ソースの再コンパイルが行われたことを示します。別のビルド番号はプロセッサ、プラットフォーム、またはコンパイラが変更されたときに使用されることがあります。

  • Revision: 名前、メジャー バージョン番号、およびマイナー バージョン番号が同じで、リビジョンが異なるアセンブリは、完全互換を目的としています。上位のリビジョン番号は、以前のリリースのアセンブリのセキュリティ ホールを修正したビルドで使用されます。

ビルド番号またはリビジョン番号だけが異なるアセンブリのバージョンは、前のバージョンのホットフィックス更新プログラムと見なされます。

アセンブリにバージョン情報を割り当てます。

通常、アセンブリにバージョン番号を割り当てるために Version クラスは使用されません。代わりに、アセンブリのバージョンを定義するために AssemblyVersionAttribute クラスが使用されます。

バージョン情報の取得

Version オブジェクトは、オペレーティング システムなどの一部のシステム コンポーネントやアプリケーション コンポーネント、共通言語ランタイム、現在のアプリケーションの実行可能ファイル、または特定のアセンブリに関するバージョン情報を格納するために最も頻繁に使用されます。次の例に、最も一般的なシナリオの一部を示します。

  • オペレーティング システム バージョンの取得。次の例では、OperatingSystem.Version プロパティを使用してオペレーティング システムのバージョン番号を取得しています。

    
    // Get the operating system version.
    OperatingSystem os = Environment.OSVersion;
    Version ver = os.Version;
    outputBlock.Text += String.Format("Operating System: {0} ({1})", os.Platform, ver.ToString()) + "\n";
    
    
    
  • 共通言語ランタイムのバージョンの取得。次の例では、Environment.Version プロパティを使用して共通言語ランタイムに関するバージョン情報を取得しています。

    
    // Get the common language runtime version.
    Version ver = Environment.Version;
    outputBlock.Text += String.Format("CLR Version {0}", ver.ToString()) + "\n";
    
    
    

Version オブジェクトの比較

CompareTo メソッドを使用する、ある Version オブジェクトが、もう 1 つの Version オブジェクトによりも早い、同じ、または遅いかを確認できます。次の例では、バージョン 2.1 がバージョン 2.0 よりも後であることを示します。


Version v1 = new Version(2, 0);
Version v2 = new Version("2.1");
outputBlock.Text += String.Format("Version {0} is ", v1);
switch(v1.CompareTo(v2))
{
   case 0:
      outputBlock.Text += "the same as";
      break;
   case 1:
      outputBlock.Text += "later than";
      break;
   case -1:
      outputBlock.Text += "earlier than";
      break;
}
outputBlock.Text += String.Format(" Version {0}.\n", v2);                  
// The example displays the following output:
//       Version 2.0 is earlier than Version 2.1.


2 つのバージョンが等しいと見なされるためには、最初の Version オブジェクトのメジャー、マイナー、ビルド、およびリビジョン番号が、2 番目の Version オブジェクトのこれらの番号と同じである必要があります。Version オブジェクトのビルド番号またはリビジョン番号が未定義の場合、Version オブジェクトは、ビルド番号またはリビジョン番号が 0 と等しい Version オブジェクトより前のバージョンであると見なされます。次の例では、未定義のバージョン コンポーネントを持つ 3 つの Versionオブジェクトを比較することによってこれを説明します。


using System;

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

public class Example
{
   static System.Windows.Controls.TextBlock outputBlock;

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      Example.outputBlock = outputBlock;

      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)
   {
      outputBlock.Text += String.Format("Relationship of {0} to {1}: {2}\n", 
                                        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


Assembly クラスを使用してアセンブリを識別する Version オブジェクトを取得するコード例を次に示します。


// This code example demonstrates the Version class.

/* 
   This code example loads an assembly and retrieves its 
   version number. 
   Typically, you would use code similar to this example 
   to load a separate assembly and obtain its version number. 
   However, solely to avoid using another assembly, this code 
   example loads itself and retrieves its own version number. 

   This code example is created in two steps:
1) The AssemblyVersionAttribute attribute is applied to this 
   code example at the assembly level. Then the code example 
   is compiled into the MyAssembly.exe executable assembly.
2) When MyAssembly.exe is executed, it loads itself, then 
   displays its own version number. 
*/

using System;
using System.Reflection;

// Apply the version number, 1.2.3.4, to this assembly.
[assembly: AssemblyVersionAttribute("1.2.3.4")]
class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Use the Assembly class to load MyAssembly.exe. Note that
      // the name of the assembly does not include the ".exe" suffix
      // of the executable file.

      Assembly myAsm = Assembly.Load("MyAssembly");
      AssemblyName aName = myAsm.GetName();

      // Store the version number in a Version object.
      Version ver = aName.Version;

      // Display the version number of MyAssembly.
      outputBlock.Text += ver + "\n";
   }
}

/*
This code example produces the following results:

1.2.3.4

*/


Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

リファレンス

表示:
© 2015 Microsoft