공개 키 토큰이 이전 버전에서 null이고 최신 버전으로 설정된 경우 참조 된 어셈블리의 다른 버전간에 어셈블리 바인딩 리디렉션을 수행 할 수 있습니까?다른 공개 키 토큰을 사용하는 .NET 어셈블리 바인딩 리디렉션
예를 들어, I는 두 어셈블리 ...
중립 System.Web.Mvc 버전 1.0.0.0 = 문화 = PublicKeyToken = NULL및
System.Web있다. MVC, 버전 = 2.0.0.0, 문화 = 중립, PublicKeyToken = 31bf3856ad364e35
해야 Asp.Net web.config 파일에서 다음 어셈블리 바인딩 리디렉션 작업 ...
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
는 슬프게도, 공개 키 토큰이 아직 일치해야합니다 보인다. 다른 어셈블리를 수동으로로드하려고하면 ("bindingRedirect"또는 "without"), "찾은 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다." – ladenedge
@ladenedge, 내가 링크 된 답변의 샘플 코드를 보면 사용할 어셈블리를 결정할 기준을 사용할 수 있습니다. 샘플에서 어셈블리 이름을 사용하고 공용 키 토큰을 무시했습니다. 필자의 샘플은 실행시가 아니라 파일에서 어셈블리를 동적으로로드하는 것입니다. 공정하기 위해서, 나는 당신이 말하는 것을하려고하지 않았기 때문에 불가능할 수도 있습니다. –