2010-05-03 3 views
16

J'ai besoin de faire un appel à la bibliothèque System.Xaml dans .NET 4.0. Est-il possible de faire un appel à cette bibliothèque si votre projet est ciblé sur 3.5?Appel d'une bibliothèque .NET 4 à partir de la version 3.5

+3

Eh bien, vous pouvez compiler cette autre lib comme un exe, peut-être y ajouter un wrapper, et faire communiquer les deux modules via des sockets, des fichiers, des shell ... mais ce serait sûrement moche. –

+1

Jetez un coup d'œil aux [extensions réactives] (http://msdn.microsoft.com/en-us/data/gg577609) de Microsoft. C'est une sorte de bibliothèque de rétrocompatibilité pour 3.5 –

+0

Copie possible de [comment intégrer la bibliothèque .net (.dll) à partir de la version supérieure (.net 4) avec les binaires de la version inférieure (.net 2)] (https: // stackoverflow. com/questions/4377219/comment-intégrer-net-bibliothèque-dll-de-version-supérieure-net-4-avec-binaires) – Liam

Répondre

11

Non. Vous devrez cibler votre projet pour l'utiliser dans .NET 4 et utiliser le CLR v4 pour utiliser les assemblages .NET 4.


Sur une note différente - il n'y a pas de réel avantage ici. Il vous suffit de modifier votre application pour cibler .NET 4. Si vous souhaitez ajouter une dépendance aux assemblys de framework .NET 4, vous pouvez aussi simplement cibler .NET 4 en premier lieu ...

+0

Le problème est, pour le moment je n'ai que VS2008, et j'ai besoin d'un particulier fonctionnalité de Xaml (sérialisation) dans .net 4.0. J'espérais pouvoir le charger de réflexion ou de quelque chose. – mrwayne

+0

Vous pouvez obtenir VS2010 très bientôt. Ré-mélanger la commande des projets. –

+0

@mrwayne: Vous pouvez toujours utiliser VS 2010 Express (disponible maintenant): http://www.microsoft.com/express/ –

2

Non, vous pouvez 't l'assemblage est mappé différemment, une chose que vous pourriez faire mais c'est une douleur est de créer un type en mémoire qui réassemble votre net 4.0 dll.

Vous pouvez utiliser CECIL pour obtenir des instructions IL.

Si vous ne connaissez pas beaucoup IL, n'essayez même pas de le faire.

0

Cette question est similaire à "comment puis-je utiliser un assembly .NET 2 dans une application .NET 1.x". Il est impossible d'ajouter l'assembly pour le nouveau CLR comme référence, mais comme l'a souligné Hamish, la communication inter processus peut aider.

Questions connexes