2009-10-22 10 views
21

Je voudrais faire des choses Office Interop en utilisant .NET 4.0, mais en développant le reste de mon projet en utilisant VS2008 et .NET3.5. Comment puis-je utiliser la fonctionnalité de l'assembly .NET 4.0 dans mon autre solution? Le chargement des assemblys CLR 4.0 dans un AppDomain 2.0 ne fonctionnera pas, n'est-ce pas?Comment référencer l'assembly .NET 4.0 dans les projets .NET 3.5

Répondre

25

En bref: vous ne pouvez pas.

.NET 4.0 est un tout nouveau CLR (4.0) et pour autant que je sache, ne peut être mélangé avec .NET 3.5 et/ou utilisé à partir de VS 2008, désolé. Vous pouvez utiliser des assemblys .NET 2.0 à partir de votre code .NET 4.0, si vous avez également la garantie que le framework .NET 2.0 se trouve sur votre machine cible en même temps (côte à côte) avec .NET 4

5

Vous ne pouvez pas utiliser un assembly de version de framework .NET ultérieur avec une version .NET plus ancienne.

1

Je ne suis pas sûr de cela, mais je crois que vous pouvez le faire de cette façon (Altough, peut-être pas recomendable mais techniquement posible.)

Depuis Net Framework 4.0 utilise un CLR diferent et il est posible d'avoir les deux installé côte à côte ... Peut-être que vous pouvez essayer de charger votre assembly 4.0 dans le 4.0 CLR et votre application 2.0 dans le 2.0 et de communiquer entre les deux via les services Web.

Encore une fois, je ne suis pas sûr si cela est possible. C'est juste une idée.

+1

Non, il n'y a pas de communication croisée dans .Net. Vous devrez implémenter votre propre communication non gérée (COM). –

+7

Je ne vois pas pourquoi vous ne seriez pas en mesure d'utiliser les services Web entre 2 applications, l'une écrite en .Net 2 et l'autre en .Net 4. – pauloya

2

CLR 4 permet InProc Side by side, mais vous seriez toujours à la recherche d'une solution d'interopérabilité entre les codes chargés 2.0 et 4.0.