... | @@ -116,13 +116,16 @@ JIT 컴파일러를 통해 기계어 코드로 변경하기 위해서는 CLR을 |
... | @@ -116,13 +116,16 @@ JIT 컴파일러를 통해 기계어 코드로 변경하기 위해서는 CLR을 |
|
### Q) 매니페스트?
|
|
### Q) 매니페스트?
|
|
어셈블리는 1개 이상의 모듈로서 구성되는데, 여러 개의 모듈이 하나의 어셈블리를 구성하고 있다면 그중 하나는 반드시 다른 모듈의 목록을 관리하는 매니페스트 정보가 포함되어야 한다.
|
|
어셈블리는 1개 이상의 모듈로서 구성되는데, 여러 개의 모듈이 하나의 어셈블리를 구성하고 있다면 그중 하나는 반드시 다른 모듈의 목록을 관리하는 매니페스트 정보가 포함되어야 한다.
|
|
어셈블리 매니페스트는 어셈블리들 간에 요소의 연관관계를 설명하는 정보가 포함되어 있다.
|
|
어셈블리 매니페스트는 어셈블리들 간에 요소의 연관관계를 설명하는 정보가 포함되어 있다.
|
|
|
|
|
|
(어셈블리 이름, 버전 번호, 문화권, Strongly Name 정보, 어셈블리에 포함된 파일 목록, 형식 참조 정보)
|
|
(어셈블리 이름, 버전 번호, 문화권, Strongly Name 정보, 어셈블리에 포함된 파일 목록, 형식 참조 정보)
|
|
|
|
|
|
여러개의 모듈로 어셈블리를 구성하려면 모듈로서 사용되는 파일은 netmodule로 컴파일 하여 사용하여야 한다.
|
|
여러개의 모듈로 어셈블리를 구성하려면 모듈로서 사용되는 파일은 netmodule로 컴파일 하여 사용하여야 한다.
|
|
netmodule로 컴파일 할 경우 매니페스트가 포함되지 않는다.
|
|
netmodule로 컴파일 할 경우 매니페스트가 포함되지 않는다.
|
|
|
|
|
|
비주얼 베이직 .netmodule로 컴파일 : vb.netmodule 생성 (매니페스트 정보 없음)
|
|
비주얼 베이직 .netmodule로 컴파일 : vb.netmodule 생성 (매니페스트 정보 없음)
|
|
|
|
|
|
C# EXE로 컴파일 : test.exe 생성 (매니페스트 정보 있음)
|
|
C# EXE로 컴파일 : test.exe 생성 (매니페스트 정보 있음)
|
|
|
|
|
|
(컴파일 옵션을 통해 netmodule을 포함하고 컴파일 하여야 한다.)
|
|
(컴파일 옵션을 통해 netmodule을 포함하고 컴파일 하여야 한다.)
|
|
|
|
|
|
위와 같이 2개의 파일이 하나의 어셈블리를 구성하고 있다면 CLR은 test.exe에 있는 매니페스트 정보를 이용하여 vb.netmodule의 클래스를 정보를 알 수 있다. |
|
위와 같이 2개의 파일이 하나의 어셈블리를 구성하고 있다면 CLR은 test.exe에 있는 매니페스트 정보를 이용하여 vb.netmodule의 클래스를 정보를 알 수 있다. |