Maison >développement back-end >C++ >Pourquoi ne puis-je pas intégrer le type d'interopérabilité « ActiveHomeScriptLib.ActiveHomeClass » dans mon application .NET 4.0 ?

Pourquoi ne puis-je pas intégrer le type d'interopérabilité « ActiveHomeScriptLib.ActiveHomeClass » dans mon application .NET 4.0 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-12 11:24:43624parcourir

Why Can't I Embed Interop Type 'ActiveHomeScriptLib.ActiveHomeClass' in My .NET 4.0 Application?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn