다음을 통해 공유


코드에서 어셈블리 특성 설정

어셈블리 특성은 어셈블리에 대한 정보를 제공하는 값입니다. 일반적으로 AssemblyInfo.cs 파일에 설정됩니다. 특성은 다음 정보 집합으로 나뉩니다.

  • 어셈블리 ID 속성
  • 정보 특성
  • 어셈블리 매니페스트 특성
  • 강력한 이름 특성

이 기사는 코드에서 어셈블리 속성을 추가하는 방법에 중점을 둡니다. 코드가 아닌 프로젝트에 어셈블리 특성을 추가하는 방법에 대한 자세한 내용은 프로젝트 파일에서 어셈블리 특성 설정을 참조하세요.

어셈블리 ID 속성

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

다음 표에서는 버전 및 문화권 특성을 설명합니다.

어셈블리 ID 특성 설명
AssemblyCultureAttribute 어셈블리가 지원하는 문화권을 나타내는 열거형 필드입니다. 어셈블리는 문화권 독립성도 지정할 수 있으며 기본 문화권에 대한 리소스가 포함되어 있음을 나타냅니다. 메모: 런타임은 문화권 특성이 null로 설정되지 않은 모든 어셈블리를 위성 어셈블리로 처리합니다. 이러한 어셈블리에는 위성 어셈블리 바인딩 규칙이 적용됩니다. 자세한 내용은 런타임에서 어셈블리를 찾는 방법을 참조하세요.
AssemblyFlagsAttribute 어셈블리를 나란히 실행할 수 있는지 여부와 같은 어셈블리 특성을 설정하는 값입니다.
AssemblyVersionAttribute 형식의 숫자 값입니다. minor. 빌드합니다. 수정 버전(예: 2.4.0.0). 공용 언어 런타임은 이 값을 사용하여 강력한 이름의 어셈블리에서 바인딩 작업을 수행합니다. 메모:AssemblyInformationalVersionAttribute 특성이 어셈블리에 적용되지 않으면 AssemblyVersionAttribute 특성에 지정된 버전 번호가 Application.ProductVersion, Application.UserAppDataPath, Application.UserAppDataRegistry 속성에서 사용됩니다.

다음 코드 예제에서는 어셈블리에 버전 및 문화권 특성을 적용하는 방법을 보여 있습니다.

// 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")]
' 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)]
<Assembly:AssemblyKeyFileAttribute("myKey.snk")>
<Assembly:AssemblyDelaySignAttribute(True)>

참고하십시오