다음을 통해 공유


어셈블리 특성 설정

업데이트: 2007년 11월

어셈블리 특성은 어셈블리에 대한 정보를 제공하는 값입니다. 특성은 다음과 같은 정보 집합으로 구분됩니다.

  • 어셈블리 ID 특성

  • 정보 특성

  • 어셈블리 매니페스트 특성

  • 강력한 이름 특성

어셈블리 ID 특성

위 세 특성은 강력한 이름과 함께 사용되어 이름, 버전, 문화권 등의 어셈블리의 ID를 결정합니다. 이 세 특성은 어셈블리의 전체 이름을 구성하며, 코드의 어셈블리를 참조하는 경우 이 특성이 필요합니다. 특성을 사용하여 어셈블리 버전과 문화권을 설정할 수 있습니다. 컴파일러 또는 어셈블리 링커(Al.exe)는 어셈블리가 만들어질 때 이름 값을 설정합니다. 이 이름 값은 어셈블리 매니페스트가 포함된 파일에 따라 설정됩니다.

다음 표는 버전 특성과 Culture 특성을 나타냅니다.

어셈블리 ID 특성

설명

AssemblyCultureAttribute

어셈블리에서 지원하는 문화권을 나타내는 열거 필드입니다. 어셈블리는 또한 문화권 독립성을 지정하여, 기본 문화권에 사용되는 리소스가 어셈블리에 들어 있음을 표시할 수 있습니다.

참고:

Culture 특성이 Null로 설정되지 않은 모든 어셈블리는 런타임에서 위성 어셈블리로 간주됩니다. 이런 어셈블리는 위성 어셈블리 바인딩 규칙의 적용을 받습니다. 자세한 내용은 런타임에서 어셈블리를 찾는 방법을 참조하십시오.

AssemblyFlagsAttribute

어셈블리 특성을 설정하는 값입니다. 이 값에서는 어셈블리를 병렬로 실행할 수 있는지를 지정합니다.

AssemblyVersionAttribute

major.minor.build.revision 형식의 숫자 값(예: 2.4.0.0)입니다. 공용 언어 런타임은 이 값을 사용하여 강력한 이름의 어셈블리에서 바인딩 동작을 수행합니다.

참고:

AssemblyInformationalVersionAttribute 특성을 어셈블리에 적용하지 않으면 AssemblyVersionAttribute 특성에 지정된 버전 번호가 Application.ProductVersion, Application.UserAppDataPathApplication.UserAppDataRegistry 속성에 사용됩니다.

다음 코드 예제는 버전 특성과 Culture 특성을 어셈블리에 적용하는 방법을 나타냅니다.

'Set version number for the assembly.
<Assembly:AssemblyVersionAttribute("4.3.2.1")>
'Set culture as German.
<Assembly:AssemblyCultureAttribute("de")>
//Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")]
//Set culture as German.
[assembly:AssemblyCultureAttribute("de")]

정보 특성

정보 특성을 사용하면 어셈블리에 다른 회사 및 제품 정보를 제공할 수 있습니다. 다음 표는 어셈블리에 적용할 수 있는 추가 특성을 나타냅니다.

추가 특성

설명

AssemblyCompanyAttribute

회사 이름을 지정하는 문자열 값입니다.

AssemblyCopyrightAttribute

저작권 정보를 지정하는 문자열 값입니다.

AssemblyFileVersionAttribute

Win32파일 버전 번호를 지정하는 문자열 값입니다. 일반적으로 이 값의 기본값은 어셈블리 버전으로 설정됩니다.

AssemblyInformationalVersionAttribute

공용 언어 런타임에서 사용되지 않는 버전 정보(예: 전체 제품 버전 번호 등)를 지정하는 문자열 값입니다.

참고:

이 특성을 어셈블리에 적용하면 런타임에 Application.ProductVersion 속성을 사용하여 이 특성에 지정된 문자열을 가져올 수 있습니다. 이 문자열은 Application.UserAppDataPathApplication.UserAppDataRegistry 속성에서 제공하는 경로 및 레지스트리 키에도 사용됩니다.

AssemblyProductAttribute

제품 정보를 지정하는 문자열 값입니다.

AssemblyTrademarkAttribute

상표 정보를 지정하는 문자열 값입니다.

이 특성은 어셈블리의 Windows 속성 페이지에 나타나거나 /win32res 컴파일러 옵션을 사용하여 이 특성을 재정의하면 사용자 고유의 Win32 리소스 파일을 지정할 수 있습니다.

어셈블리 매니페스트 특성

어셈블리 매니페스트 특성을 사용하면 제목, 설명, 기본 별칭, 구성 등의 어셈블리 매니페스트 정보를 제공할 수 있습니다. 다음 표는 어셈블리 매니페스트 특성을 나타냅니다.

어셈블리 매니페스트 특성

설명

AssemblyConfigurationAttribute

Retail 또는 Debug 등의 어셈블리 구성을 나타내는 문자열 값입니다. 런타임에서는 이 값을 사용하지 않습니다.

AssemblyDefaultAliasAttribute

참조 어셈블리에서 기본 별칭을 사용하도록 지정하는 문자열 값입니다. GUID와 같이 어셈블리 이름이 친근하지 않은 경우, 이 값은 친근한 이름을 제공합니다. 이 값은 전체 어셈블리 이름이 축약된 형태로 사용될 수 있습니다.

AssemblyDescriptionAttribute

어셈블리 특성 및 용도가 요약된 간단한 설명을 지정하는 문자열 값입니다.

AssemblyTitleAttribute

어셈블리의 친근한 이름을 지정하는 문자열 값입니다. 예를 들어, comdlg라는 어셈블리의 제목은 Microsoft Common Dialog Control이 될 수 있습니다.

강력한 이름 특성

강력한 이름 특성을 사용하면 어셈블리에 대해 강력한 이름을 설정할 수 있습니다. 다음 표는 강력한 이름 특성을 나타냅니다.

강력한 이름 특성

설명

AssemblyDelaySignAttribute

서명 연기가 사용 중임을 나타내는 부울 값입니다.

AssemblyKeyFileAttribute

공개 키(서명 연기를 사용하는 경우) 또는 공개 키/개인 키가 모두 포함된 파일 이름을 이 특성의 생성자에 매개 변수로 전달하도록 나타내는 문자열 값입니다. 파일 이름은 소스 파일 경로가 아닌 출력 파일 경로(.exe 또는 .dll)와 관련된 이름입니다.

AssemblyKeyNameAttribute

키 쌍이 포함된 키 컨테이너를 이 특성의 생성자에 매개 변수로 전달하도록 나타내는 문자열 값입니다.

다음 예제는 서명 연기를 사용하는 경우, myKey.snk라는 공개 키 파일을 사용하여 강력한 이름의 어셈블리를 만들 때 적용되는 특성을 나타냅니다.

      <Assembly:AssemblyKeyFileAttribute("myKey.snk")>
      <Assembly:AssemblyDelaySignAttribute(True)>
      [assembly:AssemblyKeyFileAttribute(@"..\..\myKey.snk")]
      [assembly:AssemblyDelaySignAttribute(true)]

참고 항목

개념

어셈블리 만들기

기타 리소스

어셈블리를 사용한 프로그래밍