Problèmes d'intégration de types d'interopérabilité .NET 4.0
Les développeurs travaillant avec l'assembly "ActiveHomeScriptLib" dans .NET 4.0 peuvent rencontrer l'erreur : "Le type d'interopérabilité 'ActiveHomeScriptLib.ActiveHomeClass' ne peut pas être intégré. Utilisez plutôt l'interface applicable." Ce problème n'apparaît pas dans .NET 3.5.
Comprendre les assemblys interop
Les assemblys interop comblent le fossé entre le code géré (.NET) et les composants COM (Component Object Model) non gérés. Ils permettent la communication entre ces environnements disparates.
Cause profonde
.NET 4.0 permet d'intégrer des assemblys d'interopérabilité primaires (PIA) directement dans votre application, évitant ainsi un déploiement séparé. Cependant, tous les assemblages ne conviennent pas à l’intégration. L'assembly "ActiveHomeScriptLib" en est un exemple.
Résolution
La solution consiste à empêcher l’intégration de types d’interopérabilité. Dans Visual Studio 2010, recherchez la fenêtre Propriétés de la référence d'assembly « ActiveHomeScriptLib » et définissez la propriété « Embed Interop Types » sur « False ».
Autres considérations
Comme l'a noté Michael Gustus, la suppression du suffixe « .Class » des types concernés pourrait également résoudre l'erreur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!