방법: 수동으로 주 Interop 어셈블리 만들기

업데이트: 2007년 11월

형식 라이브러리를 만들 때 그다지 자주 사용되는 방법은 아니지만, C#과 같은 CLS(공용 언어 사양) 규격의 언어를 사용하여 사용자가 직접 소스 코드에서 주 interop 어셈블리를 만들 수 있습니다. 이 방법은 형식 라이브러리를 사용할 수 없을 때 유용합니다.

소스 코드에서 주 interop 어셈블리를 만들려면

  1. 소스 코드에서 interop 어셈블리를 만듭니다. 자세한 방법은 수동으로 래퍼 만들기를 참조하십시오. 사용자가 직접 주 interop 어셈블리를 만들 때는 원본 형식 라이브러리의 모든 COM 형식을 포함시켜야 합니다.

  2. 어셈블리 수준에서는 다음 특성을 적용합니다.

    1. AssemblyKeyFileAttribute 또는 AssemblyKeyNameAttribute - 강력한 이름으로 어셈블리에 서명할 때 사용할 키 쌍이 포함된 파일 또는 컨테이너의 이름을 지정합니다.

    2. GuidAttribute - 대상 형식 라이브러리의 LIBID(라이브러리 식별자)를 지정합니다.

    3. PrimaryInteropAssemblyAttribute - 어셈블리를 주 interop 어셈블리로 식별합니다.

      참고:

      또한 컴파일을 수행하는 경우 서명을 연기할 수 있습니다. 자세한 내용은 어셈블리 서명 연기를 참조하십시오.

    다음 코드 예제에서는 CompanyA.snk라는 키 파일로 AssemblyKeyFileAttribute를 적용하고 해당 어셈블리가 형식 라이브러리 버전 4.2와 5.2를 지원하는 주 interop 어셈블리가 되도록 지정합니다. 예제에서 볼 수 있듯이 추가 어셈블리 수준 특성을 적용하면 형식 라이브러리의 버전을 둘 이상 래핑할 수 있습니다.

    [assembly:AssemblyKeyFile(@"..\..\CompanyA.snk")]
    [assembly:Guid("97d25db0-0363-1cf-abc4-02608 c9e7553"]
    [assembly:PrimaryInteropAssembly(4, 2)]
    [assembly:PrimaryInteropAssembly(5, 2)]
    

참고 항목

작업

방법: Tlbimp.exe를 사용하여 주 Interop 어셈블리 생성

방법: 여러 버전의 형식 라이브러리 래핑

개념

주 Interop 어셈블리 만들기

기본 Interop 어셈블리 생성