대부분의 특성은 클래스 또는 메서드와 같은 특정 언어 요소에 적용됩니다. 그러나 일부 특성은 전역입니다. 전체 어셈블리 또는 모듈에 적용됩니다. 예를 들어 다음과 같이 어셈블리에 버전 정보를 포함하려면 이 특성을 사용합니다 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 | 어셈블리 매니페스트에 대한 친숙한 기본 별칭을 정의합니다. |
.NET