.NET 어셈블리 구성요소

.NET 어셈블리 여러종류의 구성요소를 알아보겠습니다!

 

첫번째 구성요소로 어셈블리 매니페스트가 있습니다. 어셈블리 매니페스트는 어셈블리의 버전 요구사항과 보안ID를 지정하는 데 필요한 모든 메타데이터와 어셈블리의 범위를 정의하고 참조를 확인하는데 필요한 모든 메타데이터를 포함하고 있습니다. 어셈블리 매니페스트는 어셈블리 이름, 버전번호, 문화권, 강력한 이름의 정보, 어셈블리에 포함된 파일 목록, 형식 참조정보로 구성됩니다. 그리고 어셈블리에 정의된 형식들에 대한 형식 메타 데이터와 실제 수행해야 할 코드인 MSIL과 리소스로 구성됩니다.

어셈블리는 하나의 물리적 바이너리로 되어 있는 단일 파일 어셈블리와 여러 개의 물리적 바이너리로 되어있는 다중 파일 어셈블리로 나눌 수 있습니다. .NET에서는 어셈블리의 부속이 될 수 있는 모듈을 만들 수 있게 제공하고 있는데 모듈은 어셈블리에 포함됩니다. 즉, 하나의 어셈블리가 다른 어셈블리에 있는 형식을 사용하기 위해서는 단순히 사용할 어셈블리를 참조만 하면 되는데 모듈에 있는 것을 사용할 때는 모듈을 포함하여 어셈블리를 만들어야 합니다. 그리고 .NET 어셈블리를 구성하는 물리적 바이너리에는 리소스 파일, 매니페스트, DLL, 모듈 등이 있습니다.

 

 

1. 어셈블리 만들어 보기

.ENT 어셈블리 중에 라이브러리를 만들어 보겠습니다. 다중 파일 어셈블리의 부속이 되는 모듈도 만들어보겠습니다.

1) 라이브러리 제작

.NET 에서 라이브러리는 쉽게 제작할 수 있습니다. 코드를 작성하는 부분에서 다른 어셈블리에서 사용하는 형식을 정의할 때 , public 키워드를 명시하면 됩니다. 멤버도 마찬가지로 다른 어셈블리에서 접근을 허용하게 하려면 접근 지정을 public 으로 하면 됩니다.

즉, 다른 어셈블리에 정의된 형식이나 멤버 중에 사용할 수 있는 형식과 멤버는 접근 지정이 public 으로 되어 있다는 것 말고는 차이가 없습니다. COM과 Win32API에서 복잡하고 까다로운 표현을 접근 지정자로 간단하게 해결했습니다.

public class Memeber

{

  ...중략

   public Member(string name, string addr)

   {

      ... 중략

    }

}

 

 

 

 

  

반응형