일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 사진: 세계의 웅대한 산
- 그루지야
- 6장
- Never
- 아름다운 자연폭포
- andrew ng
- 이탈리아
- 오늘일기
- 8장
- 제프리 리처
- c#
- 무료
- 장관을 이루는 일몰과 일출
- 4장
- 남아프리카
- 전 세계의 잊지 못할 명소들
- 아름다운 풍경
- Enough
- 물이 만들어내는 전 세계의 아름다운 장관
- Coursera
- Fear
- Death
- 3장
- 5장
- 위젯
- CLR via C#
- ML
- Wiki
- 동물에 관한 매혹적인 사실
- 장관을 이루는 세계 곳곳의 등대 사진
- Today
- Total
목록CLR via C# (44)
오진이 블로그
목차1부. CLR의 기본3장. 공유 어셈블리와 강력한 이름의 어셈블리전역 어셈블리 캐시1부. CLR의 기본3장. 공유 어셈블리와 강력한 이름의 어셈블리전역 어셈블리 캐시어떻게 강력한 이름의 어셈블리를 배포하고 CLR이 정보를 사용하여 어셈블리의 위치를 파악하고 로드하는지 살펴볼 것이다.어떤 어셈블리가 여러 응용프로그램에 의하여 사용된다면, 어셈블리는 반드시 잘 알려진 디렉터리에 들어있어야 하고, CLR은 어 어셈블리에 대한 참조가 발견되었을 때 자동으로 찾아 볼 수 있는 고정된 위치를 알고 있어야 한다. 잘 알려진 위치라고 하는 곳은 바로 전역 어셈블리 캐시(Global Assmbly Cache, GAC)라는 곳이다.GAC 디렉터리는 일련의 구조를 가지고 있다. 수많은 하위 디렉터리들이 있으며, 하위 디..
목차1부. CLR의 기본3장. 공유 어셈블리와 강력한 이름의 어셈블리어셈블리를 강력한 이름으로 서명하기1부. CLR의 기본3장. 공유 어셈블리와 강력한 이름의 어셈블리어셈블리를 강력한 이름으로 서명하기잘 알려진 디렉터리에 같이 복사가 될 경우, 나중에 복사되는 어셈블리가 처음 복사된 어셈블리를 덮어쓰는 일이 생겨 이전 버전의 어셈블리를 참조하던 모든 응용프로그램들이 사용하던 함수를 찾을 수 없는 일이 생기게 된다. 이것이 바로 Windows에서의 DLL 지옥의 원형이며, 공유되는 DLL들을 모두 System32 디렉터리 아래로 복사하려고 하기 때문에 문제가 된다.분명한 것은 파일 이름을 이용해서 어셈블리를 구분하는 것만으로는 충분하지 않다는 것이다. CLR은 어셈블리들을 고유하게 식별할 수 있는 새로운 ..
목차1부. CLR의 기본3장. 공유 어셈블리와 강력한 이름의 어셈블리두 가지 어셈블리, 두 가지 배포 방법1부. CLR의 기본3장. 공유 어셈블리와 강력한 이름의 어셈블리문제의 핵심은 어떻게 해야 다른 응용프로그램의 기능을 망가뜨리지 않으면서 버그를 수정하고 새로운 기능을 파일에 추가할 수 있는지에 대한 것이다.두 가지 어셈블리, 두 가지 배포 방법CLR은 약한 이름의 어셈블리(Weakly Named Assembly)와 강력한 이름의 어셈블리(Strongly Named Assembly)라는 두 종류의 어셈블리를 지원한다.PE 파일 타입, PE32 또는 PE32+ 헤더, CLR 헤더, 메타데이터, 매니페스트 테이블, IL 코드까지 완벽하게 동일하다. 그리고 C# 컴파일러와 AL.EXE 유틸리티를 사용하여 ..
목차1부. CLR의 기본2장. 빌드, 패키징, 배포, 응용프로그램과 타입의 관리단순한 관리와 설정1부. CLR의 기본2장. 빌드, 패키징, 배포, 응용프로그램과 타입의 관리단순한 관리와 설정응용프로그램을 관리할 수 있도록 하기 위해 응용프로그램의 디렉터리에 설정 파일을 놓을 수 있다.어셈블리 파일을 찾는 과정CLR이 어셈블리를 검색하기 위해 몇 개의 하위 디렉터리를 검색한다. 다음은 중립 문화권 어셈블리를 찾아내기 위하여 디렉터리를 검색하는 순서들로 다은의 firstPrivatePath와 secondPrivatePath 속성은 설정 파일의 privatePath 속성에 지정하는 이름이 대신 들어간다.XML 설정 파일의 이름실행 가능한 응용프로그램에 대해서 설정 파일은 반드시 응용프로그램의 기본 디렉터리에 ..
목차1부. CLR의 기본2장. 빌드, 패키징, 배포, 응용프로그램과 타입의 관리단순 응용 프로그램 배포 (개별적으로 배포된 어셈블리)1부. CLR의 기본2장. 빌드, 패키징, 배포, 응용프로그램과 타입의 관리단순 응용 프로그램 배포 (개별적으로 배포된 어셈블리)배치 파일단순한 설치 프로그램MSI 파일개별적으로 배포된 어셈블리(Privately Deployed Assembly( - 단순한 설치/이동/제거 시나리오 Uploaded by Notion2Tistory v1.1.0
목차 1부. CLR의 기본 2장. 빌드, 패키징, 배포, 응용프로그램과 타입의 관리 문화권 1부. CLR의 기본 2장. 빌드, 패키징, 배포, 응용프로그램과 타입의 관리 문화권 [표 2-6] 어셈블리 문화권 태그의 예시 특정 문화권에 종속되지 않는 코드에 대해서는 중립 문화권(Culture Neutral)으로 문화권 정보가 지정된다. 위성 어셈블리(Satellite Assembly) - 어셈블리에 문화권 정보만 설정되어 있는 형태, 지원하려는 문화권당 하나씩 만들어서 배포
목차 1부. CLR의 기본 2장. 빌드, 패키징, 배포, 응용프로그램과 타입의 관리 어셈블리 버전 리소스 정보 1부. CLR의 기본 2장. 빌드, 패키징, 배포, 응용프로그램과 타입의 관리 어셈블리 버전 리소스 정보 [그림 2-4] Ch02-3-MultiFileLibrary.dll 파일의 버전 정보를 파일 속성 대화 상자의 [자세히(Details)] 탭에서 살펴본 모습 어셈블리를 만들 때는 반드시 버전 리소스 필드를 어셈블리 수준에서 적용하는 사용자 지정 특성을 통해 설정해주어야 한다. [표 2-4] 버전 리소스 필드, AL.EXE 스위치, 사용자 정의 특성 간의 관계 [그림 2-5] Visual Studio의 어셈블리 정보 대화 상자 버전 번호 [표 2-5] 버전 번호의 타입 주 번호, 부 번호, 빌드..
목차 1부. CLR의 기본 2장. 빌드, 패키징, 배포, 응용프로그램과 타입의 관리 여러 모듈을 하나의 어셈블리로 통합하기 1부. CLR의 기본 2장. 빌드, 패키징, 배포, 응용프로그램과 타입의 관리 여러 모듈을 하나의 어셈블리로 통합하기 어셈블리 - 타입에 대한 정의가 담겨있는 파일과 리소스 파일들을 묶은 컬렉션 매니페스트 - 어셈블리의 일부로 포함되는 여러 다양한 파일들의 이름을 저장하는 메타데이터 테이블들의 또 다른 집합 어셈블리의 버전, 문화권, 게시자, 외부에서 사용할 수 있도록 공개된 타입들, 어셈블리를 이루고 있는 파일들에 대해서도 설명 어셈블리의 주요한 특징 어셈블리 안에는 재사용 가능한 타입들을 정의 어셈블리에는 버전 번호가 기록 어셈블리는 어셈블리에 관련된 보안 정보들을 가지고 있을 ..