Version 클래스
TOC
콘텐츠의 테이블 축소
콘텐츠의 테이블 확장
문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문
이 설명서는 보관되지만 유지 되지 않습니다.

Version 클래스

업데이트: 2010년 6월

어셈블리, 운영 체제 또는 공용 언어 런타임의 버전 번호를 나타냅니다. 이 클래스는 상속될 수 없습니다.

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)

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

Version 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드Version() Version 클래스의 새 인스턴스를 초기화합니다.
Public 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifVersion(String)지정된 문자열을 사용하여 Version 클래스의 새 인스턴스를 초기화합니다.
Public 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifVersion(Int32, Int32)지정된 주 버전 및 부 버전 값을 사용하여 Version 클래스의 새 인스턴스를 초기화합니다.
Public 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifVersion(Int32, Int32, Int32)지정된 주 버전, 부 버전 및 빌드 버전 값을 사용하여 Version 클래스의 새 인스턴스를 초기화합니다.
Public 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifVersion(Int32, Int32, Int32, Int32)지정된 주 버전, 부 버전, 빌드 버전 및 수정 버전 번호를 사용하여 Version 클래스의 새 인스턴스를 초기화합니다.
위쪽

  이름설명
Public 속성XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifBuild현재 Version 개체에 대한 버전 번호의 빌드 버전 구성 요소 값을 가져옵니다.
Public 속성XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifMajor현재 Version 개체에 대한 버전 번호의 주 버전 구성 요소 값을 가져옵니다.
Public 속성MajorRevision수정 버전 번호의 상위 16비트를 가져옵니다.
Public 속성XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifMinor현재 Version 개체에 대한 버전 번호의 부 버전 구성 요소 값을 가져옵니다.
Public 속성MinorRevision수정 버전 번호의 하위 16비트를 가져옵니다.
Public 속성XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifRevision현재 Version 개체에 대한 버전 번호의 수정 버전 구성 요소 값을 가져옵니다.
위쪽

  이름설명
Public 메서드XNA Framework에서 지원Clone현재 Version 개체와 같은 값을 갖는 새 Version 개체를 반환합니다.
Public 메서드XNA Framework에서 지원CompareTo(Object)현재 Version 개체를 지정된 개체와 비교하여 상대 값의 표시를 반환합니다.
Public 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifCompareTo(Version)현재 Version 개체를 지정된 Version 개체와 비교하여 상대 값의 표시를 반환합니다.
Public 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifEquals(Object)현재 Version 개체가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (Object.Equals(Object)을(를) 재정의함)
Public 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifEquals(Version)현재 Version 개체와 지정된 Version 개체의 값이 같은지 여부를 나타내는 값을 반환합니다.
Protected 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifFinalize 개체가 가비지 수집자에서 회수되기 전에, 해당 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifGetHashCode현재 Version 개체의 해시 코드를 반환합니다. (Object.GetHashCode()을(를) 재정의함)
Public 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifGetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifMemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드정적 멤버Parse버전 번호의 문자열 표현을 해당하는 Version 개체로 변환합니다.
Public 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifToString()현재 Version 개체의 값을 해당하는 String 표현으로 변환합니다. (Object.ToString()을(를) 재정의함)
Public 메서드XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifToString(Int32)현재 Version 개체의 값을 해당하는 String 표현으로 변환합니다. 지정된 개수는 반환할 구성 요소의 수를 나타냅니다.
Public 메서드정적 멤버TryParse버전 번호의 문자열 표현을 해당하는 Version 개체로 변환하려고 시도하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다.
위쪽

  이름설명
Public 연산자정적 멤버XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifEquality지정된 두 가지 Version 개체가 같은지 여부를 확인합니다.
Public 연산자정적 멤버XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifGreaterThan지정된 첫 번째 Version 개체가 지정된 두 번째 Version 개체보다 큰지 여부를 확인합니다.
Public 연산자정적 멤버XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifGreaterThanOrEqual지정된 첫 번째 Version 개체가 지정된 두 번째 Version 개체보다 크거나 같은지 여부를 확인합니다.
Public 연산자정적 멤버XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifInequality지정된 두 가지 Version 개체가 같지 않은지 여부를 확인합니다.
Public 연산자정적 멤버XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifLessThan지정된 첫 번째 Version 개체가 지정된 두 번째 Version 개체보다 작은지 여부를 확인합니다.
Public 연산자정적 멤버XNA Framework에서 지원hdxyt63s.PortableClassLibrary(ko-kr,VS.100).gifLessThanOrEqual지정된 첫 번째 Version 개체가 두 번째 Version 개체보다 작거나 같은지 여부를 확인합니다.
위쪽

버전 번호는 주 버전, 부 버전, 빌드 버전 및 수정 버전 등의 두 개 내지 네 개의 구성 요소로 구성됩니다. 주 버전 및 부 버전 구성 요소는 필수적이고 빌드 버전 및 수정 버전 구성 요소는 선택적이지만 수정 버전 구성 요소가 정의된 경우 빌드 버전 구성 요소가 있어야 합니다. 정의된 모든 구성 요소는 0보다 크거나 같은 정수여야 합니다. 버전 번호의 형식은 다음과 같습니다(선택적 구성 요소는 대괄호 ([ 및 ])로 표시됩니다.

major.minor[.build[.revision]]

구성 요소 사용 시 다음 규칙이 적용됩니다.

  • Major: 이름은 같지만 주 버전이 다른 어셈블리는 서로 호환되지 않습니다. 더 높은 버전 번호는 이전 버전과의 호환이 허용되지 않는 제품을 다시 작성하는 것을 나타낼 수 있습니다.

  • Minor: 두 어셈블리의 이름 및 주 버전 번호가 같고 부 버전 번호가 다르면, 이전 버전과 호환되도록 기능이 향상되었음을 나타냅니다. 이 부 버전 번호는 제품의 이전 릴리스나 이전 버전의 제품과 완벽하게 호환되는 새 버전을 나타낼 수 있습니다.

  • Build: 빌드 번호가 다른 것은 같은 소스를 다시 컴파일했음을 나타냅니다. 프로세서, 플랫폼 또는 컴파일러가 변경될 때 다른 빌드 번호를 사용할 수 있습니다.

  • Revision: 이름, 주 버전, 부 버전 번호는 같지만 수정 버전 번호가 다른 어셈블리는 서로 호환 가능합니다. 높은 수정 번호는 이전에 릴리스된 어셈블리의 보안 허점을 수정하는 빌드에 사용할 수 있습니다.

빌드 버전 번호나 수정 버전 번호만 다른 어셈블리의 다음 버전은 이전 버전의 핫픽스 업데이트로 간주됩니다.

.NET Framework 2.0부터 MajorRevisionMinorRevision 속성을 사용하여 응용 프로그램의 임시 버전을 나타낼 수 있습니다. 임시 버전은 영구적인 해결 방법을 릴리스할 수 있을 때까지 문제를 수정하는 경우 등에 사용할 수 있습니다. 또한 Windows NT 운영 체제에서는 MajorRevision 속성을 사용하여 서비스 팩 번호를 인코딩합니다.

어셈블리에 버전 정보 할당

일반적으로 어셈블리에 버전 번호를 할당하는 데 Version 클래스를 사용하지 않습니다. 대신, 이 항목의 예제에 나와 있는 대로 어셈블리 버전을 정의하는 데 AssemblyVersionAttribute 클래스가 사용됩니다.

버전 정보 검색

Version 개체는 운영 체제와 같은 일부 시스템 또는 응용 프로그램 구성 요소, 공용 언어 런타임, 현재 응용 프로그램의 실행 파일, 특정 어셈블리 등에 대한 버전 정보를 저장하는 데 가장 자주 사용됩니다. 다음 예제에서는 몇 가지 가장 일반적인 시나리오를 보여 줍니다.

  • 운영 체제 버전 검색. 다음 예제에서는 OperatingSystem.Version 속성을 사용하여 운영 체제의 버전 번호를 검색합니다.

    
    // Get the operating system version.
    OperatingSystem os = Environment.OSVersion;
    Version ver = os.Version;
    Console.WriteLine("Operating System: {0} ({1})", os.VersionString, ver.ToString());
    
    
    
  • 공용 언어 런타임의 버전 검색. 다음 예제에서는 Environment.Version 속성을 사용하여 공용 언어 런타임에 대한 버전 정보를 검색합니다.

    
    // Get the common language runtime version.
    Version ver = Environment.Version;
    Console.WriteLine("CLR Version {0}", ver.ToString());
    
    
    
  • 현재 응용 프로그램 버전 검색. 다음 예제에서는 Assembly.GetEntryAssembly 메서드를 사용하여 응용 프로그램 실행 파일을 나타내는 Assembly 개체에 대한 참조를 가져온 다음 해당 버전 번호를 검색합니다.

    
    // 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());
    
    
    
  • 현재 어셈블리 버전 검색. 다음 예제에서는 Assembly.GetExecutingAssembly 메서드를 사용하여 현재 어셈블리를 나타내는 Assembly 개체에 대한 참조를 가져온 다음 해당 버전 정보를 검색합니다.

    
    // Get the version of the current application.
    Assembly assem = Assembly.GetExecutingAssembly();
    AssemblyName assemName = assem.GetName();
    Version ver = assemName.Version;
    Console.WriteLine("{0}, Version {1}", assemName.Name, ver.ToString());
    
    
    
  • 특정 어셈블리의 버전 검색. 다음 예제에서는 Assembly.ReflectionOnlyLoadFrom 메서드를 사용하여 특정 파일 이름을 가진 Assembly 개체에 대한 참조를 가져온 다음 해당 버전 정보를 검색합니다. 파일 이름 또는 강력한 이름으로 Assembly 개체를 인스턴스화하는 다른 여러 메서드도 있습니다.

    
    // 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());
    
    
    

버전 개체 비교

CompareTo 메서드를 사용하여 하나의 Version 개체가 두 번째 Version 개체보다 빠른지, 같은지, 느린지 여부를 확인할 수 있습니다. 다음 예제에서는 버전 2.1이 버전 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.


두 버전이 동일하려면 첫 번째 Version 개체의 주, 부, 빌드 및 수정 번호가 두 번째 Version 개체의 해당 번호와 동일해야 합니다. Version 개체의 빌드 또는 수정 번호가 정의되지 않은 경우 해당 Version 개체는 빌드 또는 수정 번호가 0과 같은 Version 개체보다 이전인 것으로 간주됩니다. 다음 예제에서는 버전 구성 요소가 정의되지 않은 3개의 Version 개체를 비교하여 이를 보여 줍니다.


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


다음 예제에서는 AssemblyVersionAttribute 특성을 사용하여 버전 번호를 어셈블리에 할당합니다. 컴파일 타임에 이 버전 정보는 어셈블리의 메타데이터와 함께 저장됩니다. 이 예제에서는 런타임에 Assembly.GetExecutingAssembly 메서드를 사용하여 실행 가능한 어셈블리에 대한 참조를 가져오고 Assembly.GetName 메서드에서 반환한 AssemblyName 개체의 Version 속성에서 어셈블리의 버전 정보를 검색합니다.


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

4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

에서 지원

Windows 7, Windows Vista SP1 이상, Windows XP SP3, Windows XP SP2 x64 버전, Windows Server 2008(Server Core는 지원되지 않음), Windows Server 2008 R2(Server Core는 SP1 이상에서 지원됨), Windows Server 2003 SP2

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

날짜

변경 내용

이유

2010년 6월

버전 개체 비교에 대한 정보를 추가했습니다.

향상된 기능 관련 정보

표시:
© 2016 Microsoft