애플리케이션별 구성
애플리케이션별 구성은 특정 애플리케이션의 의존성을 한 버전의 병렬 어셈블리에서 다른 버전의 어셈블리로 리디렉션합니다. 특정 애플리케이션의 올바른 작업에 일반적으로 기본 구성 또는 게시자 구성지정된 버전과 다른 어셈블리 버전이 필요한 경우 애플리케이션별 구성이 필요할 수 있습니다. 예를 들어 게시자가 어셈블리 버전을 전역으로 업데이트하면 어셈블리가 수정되지만 이 특정 애플리케이션이 중단될 수 있습니다. 이 경우 애플리케이션별 구성을 사용하여 애플리케이션이 이전 어셈블리 버전에서 계속 실행되도록 설정할 수 있습니다.
Windows Server 2003부터 애플리케이션별 구성은 항상 애플리케이션별로 기본 구성 재정의합니다. 애플리케이션별 구성은 애플리케이션 구성 파일publisherPolicyapply="no" 지정하고 애플리케이션 호환성 데이터베이스에 해당 항목이 있는 경우에만 애플리케이션별 게시자 구성을 재정의합니다.
메모
Windows XP에서 애플리케이션별 구성은 애플리케이션별로 기본 구성 및 게시자 구성 모두 재정의합니다. 자세한 내용은 Windows XP 애플리케이션별 구성참조하세요.
Windows Server 2003부터 애플리케이션별 구성은 애플리케이션 구성 파일이 publisherPolicyapply="yes" 지정하고 애플리케이션 호환성 데이터베이스의 애플리케이션에 대해 EnableAppConfig 플래그가 설정된 경우 게시자 구성 재정의합니다. 애플리케이션별 구성을 사용하여 게시자 구성을 재정의하는 이 접근 권한 값을 통해 Safemode에서 애플리케이션을 실행할 수 있습니다. 애플리케이션 호환성 데이터베이스 및 Safemode에 대한 자세한 내용은 Windows 애플리케이션 호환성 도구 키트를 참조하세요. https://www.microsoft.com/downloadsWindows 애플리케이션 호환성 도구 키트를 가져올 수 있습니다.
메모
publisherPolicyapply="no" 지정하는 애플리케이션 구성 파일(.config 파일)가 포함된 구성 요소를 제공하는 경우 활성화 컨텍스트 생성이 실패합니다. publisherPolicyapply="yes" 지정하는 .config 파일이 있는 구성 요소를 제공하면 애플리케이션별 구성이 무시됩니다.
애플리케이션 관리자는 애플리케이션 구성 파일을 작성 및 설치하고 애플리케이션 호환성 데이터베이스를 업데이트하여 애플리케이션별 구성을 구현할 수 있습니다. 그런 다음 애플리케이션 구성 파일을 배포하고 애플리케이션의 실행 파일과 동일한 폴더에 설치해야 합니다. 파일 스키마 목록은 애플리케이션 구성 파일 스키마 참조하세요. 애플리케이션 호환성 도구 키트에 설명된 대로 애플리케이션 호환성 데이터베이스를 배포해야 합니다.
메모
애플리케이션이 Safemode에서 실행되는 경우 중요한 보안 수정 사항이 수신되지 않거나 어셈블리 게시자가 게시자 구성 파일로 발급할 수 있는 버그 수정이 수신되지 않습니다. 따라서 애플리케이션별 구성을 사용하는 애플리케이션은 이러한 수정 사항이 포함된 새 어셈블리가 시스템에 적용된 후에도 안전하지 않거나 계속 잘못 작동할 수 있습니다. 이러한 이유로 애플리케이션 개발자는 애플리케이션별 구성을 사용하여 애플리케이션을 제공해서는 안 됩니다. 애플리케이션별 구성은 게시자 구성에 의해 애플리케이션이 끊어진 경우에만 회사 관리자가 임시 수정으로 사용해야 합니다. 이 경우 영구 솔루션은 어셈블리 개발자와 애플리케이션 개발자가 함께 작동하여 게시자 구성이 있는 어셈블리가 완전히 이전 버전과 호환되도록 해야 한다는 것입니다.
다음은 애플리케이션 구성 파일의 예입니다. 자세한 내용은 애플리케이션 구성 파일을 참조하세요.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
<windows>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity processorArchitecture="X86" name="Microsoft.Windows.mysampleApp" type="win32" version="1.0.0.0"/>
<publisherPolicy apply="no"/>
<dependentAssembly>
<assemblyIdentity type="win32" processorArchitecture="x86" name="Microsoft.Windows.SampleAssembly" publicKeyToken="0000000000000000"/>
<bindingRedirect oldVersion="2.0.0.0" newVersion="2.0.1.0"/>
</dependentAssembly>
</assemblyBinding>
</windows>
</configuration>
애플리케이션 관리자는 필요한 항목을 애플리케이션 호환성 데이터베이스에 추가해야 합니다. https://www.microsoft.com/downloadsWindows 애플리케이션 호환성 도구 키트 2.6을 다운로드하여 설치합니다. 도구 키트에 설명된 대로 호환성 관리자를 사용하여 새 사용자 지정을 만들거나 기존 데이터베이스를 업데이트합니다. 애플리케이션의 호환성 계층에 대해 선택하려는 호환성 수정 사항은 EnableAppConfig입니다. 새 호환성 데이터베이스를 설치하기 전에 항상 애플리케이션을 테스트해야 합니다.