여러 버전의 응용 프로그램 또는 구성 요소 배포
업데이트: 2007년 11월
다음 방법으로 side-by-side 실행용 어셈블리를 배포할 수 있습니다.
전용 배포
응용 프로그램 디렉터리나 응용 프로그램 디렉터리의 하위 디렉터리에 어셈블리를 배포할 수 있습니다. 이 경우 공용 언어 런타임에서는 기본 바인딩 확인 동작을 통해 어셈블리를 찾습니다. 어셈블리 바인딩 확인에 대한 자세한 내용은 런타임에서 어셈블리를 찾는 방법을 참조하십시오.
전용으로 배포된 어셈블리는 컴퓨터의 다른 어셈블리에 영향을 줄 수 없으므로 side-by-side 실행을 위한 응용 프로그램을 편리하게 배포하는 방법입니다. 뿐만 아니라 강력한 이름의 어셈블리와 강력한 이름이 지정되지 않은 어셈블리를 모두 전용으로 배포할 수 있습니다. 강력한 이름의 어셈블리는 전역 어셈블리 캐시에 배포될 필요가 없으며 응용 프로그램 디렉터리에 배포될 수 있습니다. 여러 응용 프로그램 간에 어셈블리를 공유하지 않으려면 해당 어셈블리를 응용 프로그램 디렉터리에 전용으로 배포합니다.
전용 배포 방식의 다른 장점은 XCOPY를 사용하여 응용 프로그램을 배포할 수 있다는 점입니다.
전역 어셈블리 캐시 배포
전역 어셈블리 캐시에 어셈블리를 설치하면 컴퓨터의 모든 응용 프로그램이 해당 어셈블리를 볼 수 있습니다. 이러한 유형의 배포는 여러 응용 프로그램 간에 어셈블리를 공유하려는 경우에 적절합니다. 전역 어셈블리 캐시에는 강력한 이름의 어셈블리만 배포할 수 있습니다.
Windows Installer나 전역 어셈블리 캐시 도구(Gacutil.exe)는 모두 전역 어셈블리 캐시에 어셈블리를 설치할 수 있습니다. 전역 어셈블리 캐시 도구는 개발 및 테스트 단계에서 사용되는 반면, Windows Installer는 실제 응용 프로그램 배포에 주로 사용됩니다. Windows Installer는 전역 어셈블리 캐시에 설치되어 있는 어셈블리에 대한 참조를 추적하므로 컴퓨터의 응용 프로그램이 해당 어셈블리를 필요로 하는 동안에는 공유 어셈블리가 제거되지 않습니다. side-by-side 응용 프로그램 설치에 대한 자세한 내용은 Windows Installer를 사용하여 Side-by-Side 실행용 응용 프로그램 및 구성 요소 설치를 참조하십시오.
<codeBase> 요소를 사용한 배포
응용 프로그램 구성 파일에 <codeBase> 요소를 포함시키면 런타임이 어셈블리를 쉽게 찾을 수 있습니다. 이 경우 런타임은 어셈블리를 찾는 데 사용하는 기본 규칙으로 어셈블리를 검색하는 대신 <codeBase> 요소에 지정된 위치를 사용합니다. 강력한 이름의 어셈블리와 강력한 이름이 지정되지 않은 어셈블리 모두에 <codeBase> 요소를 사용할 수 있습니다.
강력한 이름이 지정되지 않은 어셈블리의 경우 <codeBase> 요소는 응용 프로그램 디렉터리에 대한 상대 경로를 사용해야 합니다. 이렇게 하면 런타임이 동일한 이름의 두 어셈블리를 찾을 때 이름 충돌 없이 side-by-side 실행이 수행될 수 있습니다.
강력한 이름이 지정된 어셈블리의 경우 <codeBase> 요소는 런타임 경로를 어떠한 위치로도 지정할 수 있습니다. <codeBase> 요소는 전역 어셈블리 캐시를 사용하지 않고 여러 응용 프로그램 간에 강력한 이름의 어셈블리를 공유하기 위한 메커니즘을 제공합니다. 그러나 이 배포 방법은 사용하면 버전을 변경할 때 잘못된 <codeBase> 요소를 입력함으로써 응용 프로그램이 중단되기 쉬우므로 주의해야 합니다.
배포에 대한 자세한 내용은 응용 프로그램 배포를 참조하십시오.
참고 항목
개념
Windows Installer를 사용하여 Side-by-Side 실행용 응용 프로그램 및 구성 요소 설치
Side-by-Side 실행용 응용 프로그램 및 구성 요소를 만드는 방법