¿Cómo vincular tarde un ensamblaje CLR 4.0 de un proyecto 3.5?
-
26-09-2019 - |
Pregunta
El título se explica por sí mismo de lo que quiero lograr. Tengo un componente Com-visible integrado en 3.5 y mis nuevos proyectos son 4.0. El código muy similar al siguiente es lo que quiero ejecutar desde el componente 3.5.
Assembly a = Assembly.LoadFrom(@"C:\MyCLR4.exe");
Type t = a.GetType("MyCLR4Class");
object o = Activator.CreateInstance(t);
En última instancia, recibo el error "Este ensamblaje está construido por un tiempo de ejecución más nuevo que el tiempo de ejecución cargado actualmente y no se puede cargar"
Estoy bastante desanimado por lo que he encontrado en otro lugar. Todo lo que necesito es una solución para lograr esto. ¡Gracias!
Solución
Me rindo. Esto simplemente no se puede hacer sin hacer algunos compromisos serios y varios hacks con el registro GAC y COM como lo señaló Tony Lee (gracias por los enlaces). Terminé reconstruyendo todo en 4.0.
Parafraseando A. Einstein: ".Net está bien y bueno, pero Microsoft sigue arrastrándonos por la nariz"
:)
Gracias a todos por los comentarios y la ayuda.