오늘은 미천한 저에게는 너무나 어렵고 난감하고. 헷깔리는 어셈블리에 대해 더 알아보겠습니다.

어셈블리란
- 응용프로그램을 구성하는 기본단위
- 배포, 설치, 버전관리, 보안권한 지정의 단위
  (exe나 dll같은 실행파일 하나를 칭하는 개념?)
- 기계어 코드와 1:1 로 대응되는 어셈블리와는 동음이의어일뿐!!

어셈블리는 크게 4가지로 구성됩니다.

 어셈블리 메타 데이터
 타입 메타 데이터
 MSIL코드
 리소스

위의 두개 메타데이터는 일종의 헤더이고
아래의 두개 코드와 리소스는 어셈블리의 실제내용입니다.
(이중 일부는 어셈블리의 종류에 따라 생략될 수 도 있습니다.)

어셈블리 메타데이터를 저장하는 장소를 매니페스트(Manifest, 지난번에 나왔었죠. 어려운말)라고 하는데
보통 어셈블리에 통합되 있지만 별도 파일에 둘수도 있습니다.

어셈블리에는
이름, 버전번호, 컬처, 강력한 이름, 파일 목록, 참조 타입, 참조하는 타입등의 기본정보 외에도
커스텀 어트리뷰트로 상표, 저작권, 개발사 등 추가정보를 더 넣을수도 있습니다.
때문에 레지스트리를 쓸 필요가 없는것이죠.


어셈블리를 스스로 설명 가능한 모듈이라 하는데 이는 자신의 모든 정보를 스스로 포함하고 있기 때문입니다.
 
역시나 저에게는 어셈블리는 너무나 멀고도 험한 개념인듯 해요. :(

by 피요히코~ 2009. 4. 29. 23:19