Pregunta

En uno de los proyectos en los que estoy trabajando, el código se carga dinámicamente en una DLL .net en un ensamblado totalmente confiable usando el Assembly.LoadFrom función.Hasta ahora esto ha estado funcionando al 100% sin problemas.

Ahora tengo una DLL de Visual C++ compilada con /clr:pure que necesita cargarse usando lo anterior Assembly.LoadFrom.Recibo BadImageFormatException cuando lo hago, lo cual es realmente extraño.

En el Proyecto Visual C++ hay 3 tipos de opciones de compilación CLR:

/clr

/clr:puro

/clr:seguro

Según las instrucciones que me dieron, debe compilarse en /clr:pure.Mi problema es usar /clr:pure arroja la excepción.Si lo cambio a /clr también genera una excepción.Si lo cambio a /clr:safe, se carga sin generar una excepción (aquí es donde terminaron mis pruebas).

Entonces supongo que esta es realmente una pregunta de dos partes:

1) ¿Por qué /clr:safe funcionaría pero no los otros dos?

2) ¿Cómo consigo que funcione con /clr?

¡Gracias de antemano!

¿Fue útil?

Solución

Después de investigar este método no se pueden cargar conjuntos mixtos.Sólo pueden ser MSIL puro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top