[C#] AssemblyInfo.cs는 뭐하는 파일인가...

동키·2024년 12월 17일

C#

목록 보기
7/12

AssemblyInfo.cs는 C# 프로젝트에서 어셈블리(Assembly)의 메타데이터를 정의하는 파일입니다. 이 파일은 프로젝트의 버전 정보, 설명, 저작권, 회사 정보 등의 어셈블리 속성을 설정하는 데 사용됩니다.

어셈블리(Assembly)란?

  • .NET에서 어셈블리는 코드, 리소스, 메타데이터를 포함하는 단위입니다.
  • 주로 DLL(라이브러리) 또는 EXE(실행 파일)로 생성됩니다.

AssemblyInfo.cs의 역할

AssemblyInfo.cs 파일은 어셈블리와 관련된 속성(Attribute) 값을 설정합니다. 예를 들어:

  • 제품 이름, 버전
  • 설명 및 저작권 정보
  • GUID (Globally Unique Identifier)
  • 어셈블리의 가시성(예: COM 가시성)

이 정보는 어셈블리의 메타데이터에 기록되어 나중에 실행 시점이나 빌드 과정에서 사용됩니다.

AssemblyInfo.cs의 주요 속성

아래는 AssemblyInfo.cs 파일에 설정할 수 있는 일반적인 속성들입니다:

using System.Reflection;       // 어셈블리 속성에 필요
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// 어셈블리의 일반 정보 설정
[assembly: AssemblyTitle("MyApplication")]         // 어셈블리 제목
[assembly: AssemblyDescription("This is a sample app.")] // 설명
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("MyCompany")]          // 회사 이름
[assembly: AssemblyProduct("ProductName")]         // 제품 이름
[assembly: AssemblyCopyright("Copyright © 2024")] // 저작권 정보
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// 버전 정보 설정
[assembly: AssemblyVersion("1.0.0.0")]             // 주 버전.부 버전.빌드 번호.리비전
[assembly: AssemblyFileVersion("1.0.0.0")]         // 파일 버전

// COM 가시성 설정 (기본적으로 false)
[assembly: ComVisible(false)]

// 어셈블리의 고유 ID 설정 (COM에서 사용)
[assembly: Guid("d4f56cd7-1234-4c89-9876-a1234567f89b")]

속성 설명

1. AssemblyTitle

  • 어셈블리의 이름 또는 제목을 지정합니다.
  • 예: "MyApplication"

2. AssemblyDescription

  • 어셈블리의 간단한 설명입니다.

3. AssemblyCompany

  • 어셈블리를 만든 회사의 이름입니다.

4. AssemblyProduct

  • 제품의 이름을 나타냅니다.

5. AssemblyCopyright

  • 저작권 정보를 명시합니다.

6. AssemblyVersion

  • 어셈블리의 버전을 설정합니다.
  • 형식: Major.Minor.Build.Revision
    예: 1.0.0.0

7. AssemblyFileVersion

  • 파일 버전을 지정하며, 주로 윈도우 파일 속성에 표시됩니다.

8. ComVisible

  • COM에서 이 어셈블리를 사용할 수 있는지 여부를 설정합니다. 기본값은 false입니다.

9. Guid

  • 이 어셈블리의 고유 ID로 사용됩니다. 특히 COM에서 필요합니다.

위치와 사용

  • AssemblyInfo.cs 파일은 프로젝트의 Properties 폴더 안에 주로 위치합니다.
  • 프로젝트 빌드 시, 이 파일에 설정된 값들이 최종 DLL 또는 EXE에 메타데이터로 포함됩니다.

요약

  • AssemblyInfo.cs는 어셈블리의 메타데이터를 설정하는 파일입니다.
  • 제목, 버전, 설명, 저작권 등의 정보를 포함합니다.
  • 이러한 정보는 빌드된 어셈블리(DLL 또는 EXE)의 속성으로 기록됩니다.
  • 프로젝트 속성(Visual Studio)에서도 설정할 수 있으며, 설정 값이 AssemblyInfo.cs에 반영됩니다.

AssemblyInfo.cs는 어셈블리의 "설명서"와 같은 역할을 한다고 생각하면 됩니다.

profile
오키동키

0개의 댓글