.net - para - assembly binding redirect
BindingRedirect a nombre de ensamblador diferente (3)
Puede usar BindingRedirect para redirigir YourAssembly.dll 1.1.0.0 a 1.2.0.0.
Alguien sabe si es posible hacer esto si los nombres de los ensamblajes son diferentes.
P.ej
YourAssembly1.dll (v1.1) redirige a YourAssembly2.dll (v2.8)
Si recuerdo correctamente, hice esto hace aproximadamente 4 años usando el evento AppDomain.AssemblyResolve . La idea es que obtenga la solicitud de AssemblyName y devuelva un Assembly. En algunos casos, incluso pude generar DynamicAssembly en tiempo de ejecución e inyectar eso. Me olvido de los efectos que tienen los nombres fuertes en esto.
Use ILDASM e ILASM para descompilar, modificar y volver a compilar el ensamblaje original para que haga referencia a YourAssembly2.dll.
Me di cuenta de la idea e hice un par de búsquedas para verificar que fuera posible. Consulte ¿Es posible modificar manifiestos de ensamblaje que no sean el pirateo de ILDASM / ILASM? y http://forums.asp.net/t/1582934.aspx/1
Esto no debería ser posible, debido al hecho de que su propia aplicación tiene una referencia a YourAssembly1
.
Cuando el tiempo de ejecución carga su aplicación, intenta cargar un conjunto YourAssembly1.dll
(aplicando el sondeo y redirecciones de versión) y, por lo tanto, no puede cargar el conjunto YourAssembly2
en YourAssembly2
lugar.