어셈블리 3

#073_닷넷(.NET)_.Net Framework 기본 - 동적 어셈블리 로딩

안녕하세요 삽잡이입니다. 이번 시간에는 동적으로 어셈블링을 하고,객체를 생성해보고, 메서드를 바인딩해보려고합니다. 머나먼 여정이 될것 같습니다... 같이 힘내서 달려봅시다! 동적이라는 뜻은 '런타임'시간을 의미하고,정적이라는 뜻은 '컴파일' 시간을 의미합니다. 그렇다면 동적 어셈블리 로딩이란 무엇일까요?바로, 실행시간에 어셈블리를 로드하는 것이지요. 도대체 동적, 정적을 왜 나눠놓은 것일까요?각기 필요가 있으니 나눠놓은 것이지요... ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 정적으로 어셈블리를 로드 할 경우 '고정 불변'입니다.즉, 컴파일할 때에 어셈블리를 참조하게 되면 변경이 불가능해지는 것입니다. 그런데 동적으로 어셈블리를 로드할 경우에는 '변화가 가능'합니다.원하는 시점에 Load/UnLoad가 가능하다는 소리입..

#070_닷넷(.NET)_.Net Framework 기본 - 어셈블리 (공유 어셈블리)

안녕하세요 삽잡이입니다. 이번 시간에는 공유 어셈블리에 대해서 알아보려고합니다. 이처럼 '강력한 이름 키'를 만들게 되면 '.snk' 확장자 명으로 파일이 하나 만들어집니다. 해당 파일은 암호화 알고리즘에 의해 만들어진 파일입니다. 이는 강력한 이름 키 파일입니다. 우리가 뭔말인지 알아보지는 못하겠지만, 현재 '성명 키'를 생성하게 된것입니다. 보안에 사용되는 알고리즘 중 '공개키, 비밀키' 알고리즘이라는 것이 있습니다. MD5라던지, RSA 알고리즘에서 사용되지요. 아무튼... 해당 파일은 공개키, 비밀키에 의해 만들어진 코드 값입니다. 닷넷에서 제공해주는 '강력한 이름'에는 다섯가지가 있습니다. 이 강력한 이름이란, 공유 어셈블리를 배포하기 이전에 부여해줘야하는 것입니다. 즉, 공유 어셈블리는 '강력..

#069_닷넷(.NET)_.Net Framework 기본 - 어셈블리(assembly)

안녕하세요 삽잡이입니다. 이번 시간부터 본격적으로 닷넷에서 제공해주는 어셈블리에 대해서 알아보려고합니다.글이 산으로 갈 수 있으니 주의하시고...시작해보겠습니다. 닷넷 플렛폼의 특징 중 하나가 바로 바이너리를 재사용할 수 있다는 것입니다.즉, 외부의 어셈블리에 포함된 타입을 재사용할 수 있다는 것을 의미합니다. 그렇다면 어셈블리란 무엇일까요?어셈블리의 정의는'버전 관리되고 배포 되는 프로그램의 단위'를 뜻합니다. 어셈블리는 두 가지의 종류로 배포될 수 있습니다.즉, 응용 프로그램 하나 혹은 여러 프로그램에서 사용하는지에 따라 두가지로 나뉠 수 있게 됩니다.바로, '공유 어셈블리'와 '전용 어셈블리'로 나뉠 수 있게 되지요. 전용 어셈블리는 응용 프로그램 하나에,공유 어셈블리는 여러 응용 프로그램에서 사용..