다음을 통해 공유


격리된 응용 프로그램 및 side-by-side 어셈블리 개념

응용 프로그램의 모든 구성 요소가 side-by-side assemblies를 경우 해당 응용 프로그램은 isolated application를 간주됩니다.Side-by-side 어셈블리는 리소스의 모음입니다-Dll, windows 클래스, COM 서버, 형식 라이브러리 또는 인터페이스 그룹-는 함께 배포 및 응용 프로그램 실행된 시 사용 가능 합니다.일반적으로 side-by-side 어셈블리는 여러 DLL 중 하나입니다.

공유 또는 전용

side-by-side 어셈블리는 공유 또는 전용으로 설정할 수 있습니다.Side-by-side 어셈블리는 공유 매니페스트에서 어셈블리에 대 한 종속성을 지정 하는 여러 응용 프로그램에서 사용할 수 있습니다.Side-by-side 어셈블리의 여러 버전을 동시에 실행 중인 다른 응용 프로그램에서 공유할 수 있습니다.A 전용 어셈블리 는 응용 프로그램과 해당 응용 프로그램을 함께 단독으로 사용 하기 위해 배포 되는 어셈블리입니다.전용 어셈블리는 응용 프로그램의 실행 파일 또는 하위 폴더 중 하나를 포함 하는 폴더에 설치 됩니다.

매니페스트 및 검색 순서

격리 된 응용 프로그램과 side-by-side-어셈블리 모두에서 설명한 매니페스트.매니페스트를 외부 파일로 수 있습니다 또는 응용 프로그램이 나 어셈블리에 리소스로 포함 될 수 있는 XML 문서입니다.격리된 응용 프로그램의 매니페스트 파일은 런타임에 응용 프로그램을 바인딩해야 하는 공유 side-by-side 어셈블리의 이름과 버전을 관리하는 데 사용됩니다.side-by-side 어셈블리의 매니페스트는 side-by-side 어셈블리의 종속 어셈블리, 이름, 버전 및 리소스를 지정합니다.공유-side-by-side 어셈블리의 매니페스트를 %WINDIR%\WinSxS\Manifests\ 폴더에 설치 됩니다.전용 어셈블리의 경우 매니페스트는 DLL의 ID 1로 자원으로 포함 하는 것이 좋습니다.전용 어셈블리는 DLL 같은 이름을 제공할 수도 있습니다.자세한 내용은 Private Assemblies를 참조하십시오.

실행 시 Windows 검색 하 고 해당-side-by-side 어셈블리를 로드할 어셈블리 정보에서 응용 프로그램 매니페스트를 사용 합니다.격리 된 응용 프로그램에서 어셈블리 종속성을 지정 하는 경우 운영 체제는 어셈블리가 네이티브 어셈블리 캐시 %WINDIR%\WinSxS\ 폴더의 공유 어셈블리 중에서 먼저 검색 합니다.필요한 어셈블리를 찾을 수 없는 경우 운영 체제 폴더를 응용 프로그램의 디렉터리 구조에서 전용 어셈블리를 검색 합니다.자세한 내용은 Assembly Searching Sequence를 참조하십시오.

종속성 변경

Side-by-side 어셈블리 종속성을 변경할 수 있습니다 수정 하 여 응용 프로그램을 배포한 후에 게시자 구성 파일응용 프로그램 구성 파일.게시자 정책 파일이 라고도 하는 게시자 구성 파일은 응용 프로그램 및 버전에서 동일한 어셈블리의 다른 버전을 사용 하 여-side-by-side 어셈블리를 사용 하 여 어셈블리를 전역으로 리디렉션하는 XML 파일이입니다.버그 수정 하면 의존 관계를 변경할 수 있습니다-side-by-side 어셈블리에 대 한 보안 수정 프로그램을 배포 및 수정 된 버전을 사용 하는 모든 응용 프로그램을 리디렉션할 예를 들어.응용 프로그램 구성 파일에서 동일한 어셈블리의 다른 버전을 사용 하 여-side-by-side 어셈블리의 버전을 사용 하 여 특정 응용 프로그램을 리디렉션하는 XML 파일이입니다.응용 프로그램 구성 파일을는 게시자 구성 파일에 정의 하는 다른-side-by-side 어셈블리의 버전을 사용 하는 특정 응용 프로그램을 리디렉션할 수 있습니다.자세한 내용은 Configuration을 참조하십시오.

Visual C++ 라이브러리

Visual Studio 2005 및 Visual Studio 2008에서는 재배포 가능한 라이브러리 ATL, MFC, CRT, 표준 c + +, OpenMP 및 MSDIA와 같은 네이티브 어셈블리 캐시에 공유-side-by-side 어셈블리로 배포 됩니다.Visual Studio 2010 및 2012 Visual Studio 재배포 가능한 라이브러리 중앙 배포를 사용합니다.기본적으로 Visual C++ 사용 하 여 빌드된 모든 응용 프로그램에서 최종 이진 파일에 포함 된 매니페스트와 함께 빌드됩니다 및 매니페스트 Visual C++ 라이브러리는 이진 파일의 종속성을 설명 합니다.Visual C++ 응용 프로그램의 매니페스트 생성 이해를 참조 하십시오. C/C++ 프로그램의 매니페스트 생성 이해.매니페스트는 사용할 또는 로컬 배포를 사용 하는 라이브러리에 정적으로 링크 된 응용 프로그램에 대 한 필요 하지 않습니다.배포에 대한 자세한 내용은 Visual C++ 2010에서의 배포를 참조하십시오.

참고 항목

기타 리소스

C/C++ 격리된 응용 프로그램 및 side-by-side 어셈블리 빌드