Ist es möglich, eine Assembly Binding Redirect zwischen verschiedenen Versionen einer referenzierten Assembly durchzuführen, wenn das öffentliche Schlüsseltoken in der älteren Version null und in der neueren Version festgelegt ist?.Net Assembly Bindung Redirect mit unterschiedlichen öffentlichen Schlüssel Tokens
Zum Beispiel, ich habe zwei Baugruppen ...
System.Web.Mvc, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null
und
System.Web. mvc, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35
Sollte die folgende Montage Bindung Redirect Arbeit in der web.config Asp.Net ...
<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>
Leider scheint es, die öffentlichen Schlüssel-Token müssen noch übereinstimmen. Wenn ich versuche, eine andere Assembly manuell zu laden (mit 'bindingRedirect' oder ohne), bekomme ich" Die Manifestdefinition der lokalisierten Assembly stimmt nicht mit der Assemblyreferenz überein. " – ladenedge
@ladenedge, wenn Sie sich den Beispielcode in der Antwort ansehen, mit der ich verlinkt bin, können Sie beliebige Kriterien verwenden, um zu entscheiden, welche Assembly verwendet werden soll. Im Beispiel habe ich den Assemblynamen verwendet und die Token für öffentliche Schlüssel ignoriert. Beachten Sie, dass mein Beispiel eine Assembly dynamisch aus einer Datei geladen hat, nicht zum Zeitpunkt des Starts. Um fair zu sein, ich habe nicht versucht, zu tun, wovon du redest, also ist es vielleicht unmöglich. –