.NET Framework 전역 어셈블리 캐시에 어셈블리 설치

이 문서에서는 Microsoft .NET Framework 전역 어셈블리 캐시에 어셈블리 .dll 파일을 설치하고 Visual Studio를 사용하여 강력한 이름의 어셈블리를 만드는 방법을 설명합니다.

원래 제품 버전: .NET Framework, Visual Studio
원본 KB 번호: 910355

요약

.NET Framework 전역 어셈블리 캐시에 어셈블리 .dll 파일을 설치하려면 .NET Framework SDK 전역 어셈블리 캐시 도구를 사용할 수 있습니다. 전역 어셈블리 캐시 도구를 사용하여 어셈블리가 전역 어셈블리 캐시에 설치되어 있는지 확인할 수도 있습니다. 이 작업을 수행하려면 공유 어셈블리가 설치된 컴퓨터에 대한 관리자 권한이 있을 수 있습니다. 또한 .NET Framework SDK를 설치해야 합니다.

이 문서의 Visual C# .NET 버전은 Visual C#의 전역 어셈블리 캐시에 어셈블리를 설치하는 방법을 참조하세요.

전역 어셈블리 캐시

.NET Framework 전역 어셈블리 캐시는 코드 캐시입니다. 전역 어셈블리 캐시는 .NET Framework 공용 언어 런타임이 설치된 각 컴퓨터에 자동으로 설치됩니다. 컴퓨터에 설치된 모든 애플리케이션은 전역 어셈블리 캐시에 액세스할 수 있습니다. 전역 어셈블리 캐시는 컴퓨터의 여러 애플리케이션에서 공유하도록 지정된 어셈블리를 저장합니다. 구성 요소 어셈블리는 일반적으로 폴더에 C:\WINNT\Assembly 저장됩니다.

참고

어셈블리를 공유해야 하는 경우에만 전역 어셈블리 캐시에 어셈블리를 설치합니다. 어셈블리를 명시적으로 공유해야 하는 경우가 아니면 어셈블리 종속성을 비공개로 유지하고 애플리케이션 디렉터리에서 어셈블리를 찾는 것이 좋습니다. 또한 어셈블리를 MICROSOFT COM(구성 요소 개체 모델) interop 또는 관리되지 않는 코드에 사용할 수 있도록 하려면 전역 어셈블리 캐시에 어셈블리를 설치할 필요가 없습니다.

어셈블리

어셈블리는 .NET Framework 프로그래밍의 기본 부분입니다. 어셈블리는 .NET Framework 공용 언어 런타임 애플리케이션의 재사용 가능한 자체 설명 구성 요소입니다.

어셈블리에는 공용 언어 런타임이 실행하는 하나 이상의 코드 구성 요소가 포함됩니다. 동일한 어셈블리의 모든 형식과 모든 리소스는 단위의 개별 버전을 형성합니다. 어셈블리 매니페스트는 종속 어셈블리에 대해 지정하는 버전 종속성을 설명합니다. 어셈블리를 사용하면 서로 다른 소프트웨어 구성 요소 간에 버전 규칙을 지정할 수 있으며 런타임에 해당 규칙을 적용할 수 있습니다. 어셈블리는 병렬 실행을 지원합니다. WHich를 사용하면 여러 버전을 동시에 실행할 수 있습니다.

강력한 이름 서명

어셈블리는 전역 어셈블리 캐시에 설치할 강력한 이름이 있어야 합니다. 강력한 이름은 다른 사람이 스푸핑할 수 없는 전역적으로 고유한 ID입니다. 강력한 이름을 사용하면 이름이 같은 구성 요소가 서로 충돌하거나 호출 애플리케이션에서 잘못 사용되지 않도록 방지할 수 있습니다. 어셈블리 서명은 강력한 이름을 어셈블리와 연결합니다. 어셈블리 서명은 강력한 이름 서명이라고도 합니다. 강력한 이름은 다음 정보로 구성됩니다.

  • 어셈블리의 단순 텍스트 이름
  • 어셈블리의 버전 번호
  • 이 정보가 제공된 경우 어셈블리에 대한 문화권 정보
  • 공개 키 및 프라이빗 키 쌍

이 정보는 키 파일에 저장됩니다. 키 파일은 개인 정보 교환(.pfx) 파일 또는 현재 사용자의 Microsoft Windows 인증서 저장소의 인증서입니다.

Visual Studio에서 프로젝트 Designer서명 탭의 옵션을 사용하여 어셈블리에 서명할 수 있습니다. Visual Studio에서 키 파일은 로컬 컴퓨터의 프로젝트 폴더에 저장되어야 합니다. Visual Studio는 다음 파일 형식만 지원합니다.

  • 개인 정보 교환(.pfx) 파일
  • 강력한 이름 키(.snk) 파일

요구 사항

전역 어셈블리 캐시에 어셈블리를 설치하기 전에 다음 요구 사항을 충족할 수 있습니다.

  • 공유 어셈블리가 설치된 컴퓨터에 대한 관리자 권한이 있어야 합니다.
  • .NET Framework SDK를 설치해야 합니다.

이 문서에서는 다음 topics 잘 알고 있다고 가정합니다.

  • .NET의 공유 어셈블리에 대한 일반적인 친숙함.
  • 명령 프롬프트에서 도구 사용에 대한 일반적인 숙지입니다.

전역 어셈블리 캐시에 어셈블리 설치

이 메서드는 Visual Studio를 사용하여 어셈블리를 만드는 방법을 기반으로 합니다. 여러 애플리케이션에서 공유할 수 있는 어셈블리를 만들려면 공유 어셈블리에 강력한 이름이 있어야 합니다. 또한 공유 어셈블리는 전역 어셈블리 캐시에 배포해야 합니다.

강력한 이름을 가진 작은 Visual C# 어셈블리를 만들고 컴파일된 .dll 파일을 전역 어셈블리 캐시에 설치하려면 다음 단계를 수행합니다.

  1. GACDemo라는 새 Visual C# 클래스 라이브러리 프로젝트를 만듭니다. 이렇게 하려면 다음 단계를 따르세요.

    1. Visual Studio를 시작합니다.
    2. 파일 메뉴에서 새 프로젝트를 선택합니다.
    3. 템플릿 목록에서 클래스 라이브러리를 선택합니다.
    4. 이름 상자에 GACDemo를 입력하고 확인을 선택합니다.
    5. 프로젝트를 저장하려면 Ctrl+Shift+S를 누릅니다.
    6. 위치 상자에 를 입력합니다C:\DemoProjects.
    7. 솔루션 검사 디렉터리 만들기 상자의 선택을 취소한 다음 저장을 선택합니다.
  2. 강력한 이름을 생성한 다음 강력한 이름 키 파일을 어셈블리와 연결합니다. 이렇게 하려면 다음 단계를 따르세요.

    1. 프로젝트 메뉴에서 GACDemo 속성을 선택합니다.

    2. 서명 탭에서 어셈블리 서명 확인란을 선택합니다.

    3. 강력한 이름 키 파일 선택에서 새로> 만들기를 선택합니다<.

    4. 강력한 이름 키 만들기 대화 상자에서 암호 검사 내 키 파일 보호 상자를 선택합니다.

    5. 키 파일 이름 상자에 GACDemo를 입력합니다.

    6. 암호 입력 상자에 사용할 암호를 입력합니다.

    7. 암호 확인 상자에 동일한 암호를 입력한 다음 확인을 선택합니다.

      참고

      키 파일을 만들 때 항상 암호를 사용하는 것이 좋습니다. 암호로 보호되는 새 키 파일은 항상 .pfx 파일 형식으로 만들어집니다.

    8. 프로젝트를 컴파일하려면 Ctrl+Shift+B를 누릅니다.

      참고

      전역 어셈블리 캐시에 .dll 파일을 설치하는 데 추가 코드가 필요하지 않습니다.

  3. 전역 어셈블리 캐시 도구를 사용하여 전역 어셈블리 캐시의 2단계에서 만든 .dll 파일을 설치합니다. 이렇게 하려면 다음 단계를 따르세요.

    1. 시작을 선택하고 실행을 선택하고 cmd를 입력한 다음 확인을 선택합니다.
    2. 현재 작업 디렉터리를 .NET Framework SDK가 설치된 디렉터리로 변경합니다.
    3. 명령 프롬프트에서 명령을 입력한 gacutil -I "C:\DemoProjects\GACDemo\bin\Release\GACDemo.dll" 다음 Enter 키를 누릅니다.

어셈블리가 전역 어셈블리 캐시에 설치되어 있는지 확인합니다.

전역 어셈블리 캐시 도구를 사용하여 어셈블리가 전역 어셈블리 캐시에 설치되어 있는지 확인할 수 있습니다. 이렇게 하려면 다음 단계를 따르세요.

  1. 시작을 선택하고 실행을 선택하고 cmd를 입력한 다음 확인을 선택합니다.

  2. 현재 작업 디렉터리를 .NET Framework SDK가 설치된 디렉터리로 변경합니다.

  3. GACDemo 어셈블리에 대한 설치 정보를 표시하려면 전역 어셈블리 캐시 도구를 사용합니다. 이렇게 하려면 명령 프롬프트에 명령을 입력 gacutil -l GACDemo 한 다음 Enter 키를 누릅니다.

    참고

    GACDemo 어셈블리에 대한 설치 정보가 표시됩니다.

참조