Compatibilités binaires avec l'ensemble du .NET Framework
Mise à jour : novembre 2007
Le .NET Compact Framework est une implémentation de sous-ensemble compatible du .NET Framework complet et du CLR (Common Language Runtime).
En l'absence de stratégie de liaison de nom fort, une application compilée pour le .NET Compact Framework se liera et s'exécutera sur le .NET Framework complet. Tenez compte des considérations suivantes :
Les assemblys .NET Compact Framework sont signés avec des paires de clés de nom fort différentes, ce qui permet au CLR (Common Language Runtime) de les distinguer de leurs homologues du .NET Framework.
Le .NET Framework fournit une stratégie de liaison pour substituer des assemblys .NET Framework complets à la place de références .NET Compact Framework compatibles. Il sera possible, dans des cas courants, de réutiliser des composants existants sans créer d'instance d'objets. Par exemple, si votre composant référence uniquement les classes .NET Compact FrameworkSystem, il sera compatible avec les deux produits Framework.
Le .NET Framework complet ne prend pas en charge les classes et types pris en charge uniquement par le .NET Compact Framework, comme indiqué dans Classes prises en charge dans le .NET Compact Framework.
De la même manière que la compatibilité binaire interplateforme simplifie le développement et le déploiement de logiciels intermédiaires (middleware), les applications clientes sophistiquées doivent tirer parti de fonctionnalités spécifiques à l'appareil pour améliorer la facilité d'utilisation. Cela implique que le meilleur code d'interface utilisateur graphique sera probablement spécifique à la cible.
Bien que le .NET Compact Framework factorise les fonctionnalités spécifiques au périphérique sous forme d'espaces de noms et d'assemblys discrets afin d'éviter les conflits de liaisons, il y aura vraisemblablement des cas d'incompatibilité qui ne pourront pas être gérés. Dans ces cas, l'utilisation inopportune des fonctionnalités spécifiques au périphérique avec le .NET Framework complet provoquera une exception du runtime plutôt qu'une exception de chargement d'application.