2010-05-03 21 views
16

Tengo la necesidad de realizar una llamada a la biblioteca System.Xaml en .NET 4.0. ¿Es posible hacer una llamada a esta biblioteca si su proyecto está dirigido a 3.5?Realizar una llamada a una biblioteca .NET 4 desde 3.5

+3

Bueno, se podría compilar ese otro lib como un exe, tal vez agregarle un wrapper, y hacer que los dos módulos se comuniquen a través de sockets, files, shell ... pero eso seguramente sería feo. –

+1

Eche un vistazo a [Extensiones reactivas] (http://msdn.microsoft.com/en-us/data/gg577609) de Microsoft. Es un tipo de biblioteca de compatibilidad con versiones anteriores para 3.5 –

+0

Posible duplicado de [cómo integrar la biblioteca .net (.dll) desde la versión superior (.net 4) con los binarios de la versión inferior (.net 2)] (https: // stackoverflow. com/questions/4377219/how-to-integrate-net-library-dll-from-higher-version-net-4-with-binaries) – Liam

Respuesta

11

No. Deberá apuntar a su proyecto para que se ejecute en .NET 4 y para usar CLR v4, para poder utilizar los ensamblados .NET 4.


En una nota diferente - aquí no hay ninguna ventaja real. Simplemente cambie su aplicación a target .NET 4. Si va a agregar una dependencia a los ensamblados de framework de .NET 4, también podría apuntar a .NET 4 en primer lugar ...

+0

El problema es que, de momento, solo tengo VS2008, y necesito un particular característica de Xaml (Serialización) en .net 4.0. Esperaba poder cargarlo con reflejo o algo así. – mrwayne

+0

Puede obtener VS2010 muy pronto. Vuelve a mezclar el orden de los proyectos. –

+0

@mrwayne: Siempre puede usar VS 2010 Express (disponible ahora): http://www.microsoft.com/express/ –

2

No, usted puede El ensamblaje se mapea de manera diferente, una cosa que podría hacer, pero eso es un problema es crear un tipo en la memoria que reensamble su red de 4,0 dll.

Puede usar CECIL para obtener las instrucciones de IL.

Si no conoce mucho IL, ni siquiera intente hacerlo.

0

Esta pregunta es similar a "cómo puedo usar un ensamblado .NET 2 en la aplicación .NET 1.x". Es imposible agregar el conjunto para CLR nuevo como referencia, pero como señaló Hamish, la comunicación entre procesos puede ayudar.

Cuestiones relacionadas