을 DLL이 적용되지 않습니다 나는 ISOLATION_AWARE_ENABLED
로를 구축, 그때 간단한에서 Win32 DLL을 만든 버전 6 commctl32.dll 에 매니페스트 종속성을 포함하여 XP에 UXtheme을 보여주기 위해 간단한 Win32 응용 프로그램을 만들어 Comctl32.dll 버전 5와 6을 모두 지정하는 포함 된 매니페스트로 테스트했습니다.bindingRedirect이
이 메서드를 사용하여 다른 버전의 comctl32.dll을 사용하려면 exe와 dll을 성공적으로 가져 왔습니다. 둘 다 exe를 사용하여 5 및 dll 버전 6, 그리고 다른 방법은 주위에.
그런 다음 응용 프로그램과 DLL을 재설정하고 comctl ver 5 manifest 종속성을 갖습니다. 대화 상자가 명확 XP UXTheme 활성화하여 표시됩니다 -
내 응용 프로그램을 실행할 때 지금, 응용 프로그램이 명확하게 V6를 commctl로 리디렉션되고<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
<windows>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" processorArchitecture="amd64" publicKeyToken="6595b64144ccf1df"/>
<bindingRedirect oldVersion="5.82.7100.0" newVersion="6.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</windows>
</configuration>
이 : 그리고 응용 프로그램 구성 파일을 소개했다. 그러나 dll은 리디렉션되지 않고 commctl의 테마가 아닌 ver 5를 사용하고 있습니다.
설명서에서 bindingRedirects를 수행하기위한 dll 구성 파일에 대한 언급은 없습니다. 그리고 그것을 창조하려고 노력하는 것은 아무 것도하지 않습니다.
어셈블리의 한 주요 버전에서 다른 버전으로 bindingRedirect를하는 것은 지원되는 시나리오가 아니라, 실제로 commctl32를 사용하여 메커니즘을 테스트하는 명백한 쉬운 방법으로 사용한다는 것을 알고 있습니다.
dll의 종속 어셈블리 버전을 어떻게 리디렉션합니까?
감사합니다. 시간이 절약되었습니다. 어디에서 문서화되어 있습니까? –
예/아니요. 그 곳 곳곳에 문서화되어 있습니다. –