J'ai une bibliothèque externe. Net compilée avec .net framework 4 (son fournisseur a récemment été déplacé vers .net 4) Mon code s'exécute actuellement. net framework 3.5 Comment utiliser cette bibliothèque externe dans mon application? Déplacer l'application entière vers .net 4 a besoin de temps et de tests, alors peut-être que dans un futur je le ferai, mais maintenant, quelles sont les possibilités?comment intégrer la bibliothèque .net (.dll) à partir de la version supérieure avec les binaires de la version inférieure
Répondre
Il n'y a pas de possibilités, la version CLR fournie avec .NET 3.5 ne peut pas charger les assemblages 4.0. Le format des métadonnées a été modifié. Vous avez pour forcer votre application à utiliser la version .NET 4.0 CLR. Faites-le en le recompilant avec VS2010, en ciblant 4.0, ou en utilisant un fichier .config qui contient l'élément <requestedRuntime>
pour demander "v4.0".
La compatibilité avec .NET 4.0 est excellente.
Bien que vous ne puissiez pas charger la DLL .Net directement, vous pouvez l'intégrer dans une interface COM et charger cette interface COM dans votre processus .Net 3.5.
Voir Using a .NET 4 Based DLL From a .NET 2 Based Application
Pour plus d'informations d'arrière-plan, Microsoft initialement ajouté In-Process Side-by-Side en .Net 4 pour mieux soutenir le scénario dans lequel une charge de compléments d'applications via COM, et les compléments ont été écrits avec différentes versions de. Net. La possibilité de charger .NET 4 DLL dans un processus .Net 3.5 est juste un effet secondaire agréable de cela.