다음을 통해 공유


C# 컴파일러에서 해석하는 어셈블리 수준 특성

대부분의 특성은 클래스 또는 메서드와 같은 특정 언어 요소에 적용됩니다. 그러나 일부 특성은 전역입니다. 전체 어셈블리 또는 모듈에 적용됩니다. 예를 들어 다음과 같이 어셈블리에 버전 정보를 포함하려면 이 특성을 사용합니다 AssemblyVersionAttribute .

[assembly: AssemblyVersion("1.0.0.0")]

전역 특성은 소스 코드에서 최상위 using 지시문 뒤 그리고 형식, 모듈 또는 네임스페이스 선언 앞에 나타납니다. 여러 소스 파일에 전역 특성을 포함할 수 있지만 단일 컴파일 패스로 파일을 컴파일해야 합니다. .NET Framework 프로젝트에서 Visual Studio는 AssemblyInfo.cs 파일에 전역 특성을 추가합니다. 해당 특성은 .NET Core 프로젝트에 추가되지 않습니다.

C# 언어 참조는 가장 최근에 릴리스된 C# 언어 버전을 문서화합니다. 또한 예정된 언어 릴리스의 공개 미리 보기 기능에 대한 초기 설명서도 포함되어 있습니다.

설명서는 언어의 마지막 세 버전 또는 현재 공개 미리 보기에서 처음 도입된 기능을 식별합니다.

팁 (조언)

C#에서 기능이 처음 도입된 시기를 찾으려면 C# 언어 버전 기록에 대한 문서를 참조하세요.

어셈블리 특성은 어셈블리에 대한 정보를 제공합니다. 어셈블리 특성은 다음 범주로 구분됩니다.

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

어셈블리 ID 특성

name, version 및 culture의 세 가지 특성(해당하는 경우 강력한 이름 포함)이 어셈블리의 ID를 결정합니다. 이러한 특성은 어셈블리의 전체 이름을 구성하며 코드에서 어셈블리를 참조할 때 필요합니다. 특성을 사용하여 어셈블리의 버전 및 문화권을 설정할 수 있습니다. 그러나 어셈블리를 만들 때 컴파일러, 어셈블리 정보 대화 상자의 Visual Studio IDE 또는 어셈블리 링커(Al.exe)에 의해 이름 값을 설정합니다. 어셈블리 이름은 어셈블리 매니페스트를 기반으로 합니다. AssemblyFlagsAttribute 특성은 어셈블리의 여러 복사본이 공존할 수 있는지 여부를 지정합니다.

다음 표에서는 ID 특성을 보여 줍니다.

Attribute 목적
AssemblyVersionAttribute 어셈블리의 버전을 지정합니다.
AssemblyCultureAttribute 어셈블리에서 지원하는 문화권을 지정합니다.
AssemblyFlagsAttribute 어셈블리에 대한 플래그의 비트 조합을 지정하여 JIT(Just-In-Time) 컴파일러 옵션, 어셈블리의 대상 변경 가능 여부 및 어셈블리에 전체 또는 토큰화된 공용 키가 있는지 여부를 설명합니다.

정보 특성

정보 특성을 사용하여 어셈블리에 대한 더 많은 회사 또는 제품 정보를 제공합니다. 다음 표에서는 System.Reflection 네임스페이스에 정의된 정보 특성을 보여 줍니다.

Attribute 목적
AssemblyProductAttribute 어셈블리 매니페스트의 제품 이름을 지정합니다.
AssemblyTrademarkAttribute 어셈블리 매니페스트의 상표를 지정합니다.
AssemblyInformationalVersionAttribute 어셈블리 매니페스트의 정보 버전을 지정합니다.
AssemblyCompanyAttribute 어셈블리 매니페스트의 회사 이름을 지정합니다.
AssemblyCopyrightAttribute 어셈블리 매니페스트에 대한 저작권을 지정하는 사용자 지정 특성을 정의합니다.
AssemblyFileVersionAttribute Win32 파일 버전 리소스의 특정 버전 번호를 설정합니다.
CLSCompliantAttribute 어셈블리가 CLS(공용 언어 사양)을 준수하는지 여부를 나타냅니다.

어셈블리 매니페스트 특성

어셈블리 매니페스트 특성을 사용하여 어셈블리 매니페스트에 정보를 제공합니다. 특성에는 제목, 설명, 기본 별칭 및 구성이 포함됩니다. 다음 표에서는 System.Reflection 네임스페이스에 정의된 어셈블리 매니페스트 특성을 보여 줍니다.

Attribute 목적
AssemblyTitleAttribute 어셈블리 매니페스트의 어셈블리 제목을 지정합니다.
AssemblyDescriptionAttribute 어셈블리 매니페스트의 어셈블리 설명을 지정합니다.
AssemblyConfigurationAttribute 어셈블리 매니페스트의 어셈블리 구성(예: 정품 또는 디버그)을 지정합니다.
AssemblyDefaultAliasAttribute 어셈블리 매니페스트에 대한 친숙한 기본 별칭을 정의합니다.