Side-by-Side 어셈블리를 리소스로 사용

애플리케이션에 매니페스트를 애플리케이션의 이진 실행 파일의 리소스로 추가할 수 있습니다. MANIFEST_RESOURCE_ID 값은 매니페스트에 설명된 병렬 어셈블리 종속성을 로더에서 사용하는 방법을 결정합니다.

MANIFEST_RESOURCE_ID 1로 설정하면 로더는 매니페스트에 지정된 병렬 어셈블리 종속성을 프로세스 기본값으로 사용합니다. 모든 플러그 인도 이 프로세스 기본값을 사용합니다.

다음 표에서는 애플리케이션이 -DISOLATION_AWARE_ENABLED 플래그로 컴파일될 때 로더가 MANIFEST_RESOURCE_ID 다양한 값에 매니페스트를 사용하는 방법을 요약합니다. 값 1-16은 Windows XP에서 사용하도록 예약되어 있습니다. 개발자는 활성화 컨텍스트 참조에 설명된 함수를 사용하여 활성화 컨텍스트를 관리하려는 경우 다른 값을 사용할 수 있습니다.

MANIFEST_RESOURCE_ID 값 매니페스트는 프로세스 기본값을 지정합니까? 정적 가져오기에 사용합니까? EXE에 사용하세요? DLL에 사용합니까? -DISOLATION_AWARE_ENABLED 사용하여 컴파일된 경우 어셈블리의 Side-by-Side 버전을 사용합니까?
1 Yes Yes 아니요
2 아니요 Yes Yes
3 아니요 아니요 Yes Yes

 

MANIFEST_RESOURCE_ID 1은 플러그 인을 호스트하지 않는 애플리케이션에 사용해야 합니다. 애플리케이션의 모든 부분에서 매니페스트에 지정된 병렬 어셈블리 버전을 사용해야 하는 경우 MANIFEST_RESOURCE_ID 1을 사용합니다. 자세한 내용은 확장 없이 애플리케이션에서 어셈블리 사용을 참조하세요.

MANIFEST_RESOURCE_ID 2는 타사 컨트롤 또는 플러그 인을 호스트하는 애플리케이션에 사용해야 합니다. 이 경우 매니페스트는 정적 로드, DllMain 호출 및 -DISOLATION_AWARE_ENABLED 의해 리디렉션된 호출에 의해 로드되는 모든 병렬 어셈블리에 영향을 줍니다. 자세한 내용은 DLL, 확장 또는 제어판 호스팅하는 애플리케이션에서 어셈블리 사용을 참조하세요.

MANIFEST_RESOURCE_ID 3은 -DISOLATION_AWARE_ENABLED 호출을 리디렉션하는 데만 사용해야 합니다. 다른 메서드로 로드하는 것은 영향을 받지 않습니다.