Prise en charge et nouvelles fonctionnalités du .NET Framework

Mise à jour : novembre 2007

.NET Compact Framework version 2.0 introduit de nouvelles fonctionnalités et fournit une prise en charge supplémentaire pour les classes .NET Framework. Il fournit également de meilleures performances dans plusieurs domaines de fonctionnalités, y compris la compilation juste-à-temps (JIT), le garbage collection, les services Web XML et l'accès aux données.

Prise en charge des fonctionnalités du .NET Framework complet

Le tableau suivant résume la prise en charge améliorée des fonctionnalités du .NET Framework dans le .NET Compact Framework version 2.0.

Prise en charge étendue

Description

Domaines d'application

La prise en charge est assurée pour le déchargement d'un domaine d'application.

Méthodes anonymes

Le .NET Compact Framework prend en charge la nouvelle fonctionnalité du langage C# qui vous permet d'inclure le code de gestion des événements dans le délégué, comme indiqué dans l'exemple suivant :

// In constructor.

button.Click += new EventHandler(sender,args)

{

// Increment a counter or other action.

};

Prise en charge du chiffrement

Les fonctionnalités suivantes sont prises en charge :

  • Certificats X.509

  • Hachage :

    MD5 et SHA1

  • Chiffrement à clé symétrique :

    RC2, RC4, 3DES, DES

  • Chiffrement à clé asymétrique :

    RSA, DSA

Améliorations DataSet

La méthode GetChanges est prise en charge ainsi que davantage de classes dans l'espace de noms System.Data.

Événements

Des améliorations internes ont été apportées dans le déclenchement des événements.

Exceptions

La gestion des exceptions améliorée par les événements suivants est prise en charge :

Génériques

Pour plus d'informations sur la prise en charge des génériques, consultez Génériques dans le .NET Compact Framework.

Globalisation

Des codages supplémentaires sont pris en charge.

Assemblys

Assemblys friend (Guide de programmation C#) sont pris en charge.

Réseau

L'authentification NTLM et IPv6, la nouvelle génération du protocole Internet, sont pris en charge.

CredentialCache est pris en charge.

Les performances de la sérialisation XML ont été améliorées.

SOAP 1.2 est pris en charge.

Les protocoles d'authentification suivants sont pris en charge :

  • Negotiate

  • NTLM

  • Kerberos

Message Queuing (MSMQ)

La fonctionnalité principale de l'utilisation du composant MSMQ et des classes System.Messaging est disponible. Pour plus d'informations, consultez Message Queuing dans le .NET Compact Framework.

Pour obtenir un exemple, consultez Application de commandes de livres MSMQ, exemple.

Classes partielles

Le .NET Compact Framework prend en charge les classes partielles, telles qu'elles sont utilisées dans Microsoft Visual Studio 2005 lorsque vous créez un projet.

Clés de Registre

Vous pouvez définir des clés de Registre à l'aide de la classe RegistryKey.

Une RegistryKey ouverte et ses objets RegistryKey enfants ouverts doivent être fermés explicitement avant la suppression de la clé.

La profondeur maximale des clés de Registre est 15. Il s'agit d'une limitation Windows CE.

Ports série

Vous pouvez accéder aux ports série de la même manière que dans le .NET Framework complet. Pour obtenir un exemple, consultez Application de communication série, exemple. La prise en charge des ports série est également disponible avec les émulateurs Visual Studio 2005.

SQL Server

Pour télécharger la documentation en ligne SQL Server Compact 3.5, visitez le site Web Centre de téléchargement Microsoft.

Chaînes

La méthode Substring lève une exception si le paramètre startIndex est supérieur au paramètre length.

String.Empty.Substring(0, 1) lève une ArgumentException.

Thread

Les méthodes BeginInvoke et EndInvoke, ainsi que l'utilisation de paramètres avec la méthode Invoke sont pris en charge.

Remarque :

BeginInvoke et EndInvoke ne sont pas pris en charge pour les délégués asynchrones.

Objets My Visual Basic

Le .NET Compact Framework 2.0 prend en charge les objets My suivants :

Prise en charge du langage XML

La prise en charge XML inclut ce qui suit :

Nouvelles fonctionnalités

Le tableau suivant résume les nouvelles fonctionnalités spécifiques au périphérique dans le .NET Compact Framework 2.0.

Fonctionnalité

Description

Développement autonome

Même si la compilation de ligne de commande est prise en charge dans le .NET Compact Framework version 1.0, le .NET Compact Framework 2.0 propose une meilleure prise en charge du débogage et de la compilation autonomes. Pour plus d'informations, consultez Comment : compiler à l'invite de commandes.

Possibilité d'exécuter une application d'une version antérieure du .NET Compact Framework sur la version 2.0

Consultez Comment : configurer la version du runtime.

Nouveaux contrôles dans Microsoft.WindowsCE.Forms

Consultez Windows Forms et graphiques.

Améliorations liées à l'interopérabilité

Les améliorations liées à l'interopérabilité fournies par le .NET Compact Framework version 2.0 sont les suivantes :

  • Interopérabilité du code natif :

    • Marshaling de type d'appel de code non managé amélioré.

    • Marshaling de délégués comme pointeurs fonction.

    • Types supplémentaires : tableaux, chaînes, structures.

    • Tableaux incorporés : structures avec char[], array[].

    • MarshalAs – affinage du type.

  • Utilisation des objets COM dans votre code managé :

    • La prise en charge du wrapper RCW (Runtime Callable Wrapper) active l'appel à des applications managées dans des objets COM. Toutefois, vous ne pouvez pas activer d'objets managés par le biais de COM.

    • La prise en charge du wrapper CCW (COM Callable Wrapper) active des rappels du code natif au code managé.

    • Prise en charge des appels à liaison tardive et à liaison anticipée (IDispatch et vtable).

    • Intégré à Visual Studio 2005.

Même si le .NET Compact Framework ne prend en charge qu'un sous-ensemble de l'espace de noms System.Runtime.InteropServices, les fonctions de marshaling avancées sont disponibles avec la prise en charge de l'attribut MarshalAsAttribute. De plus, le .NET Compact Framework 2.0 prend en charge plusieurs nouveaux membres de la classe Marshal. Vous pouvez marshaler une grande gamme de types par le biais de COM dans le .NET Compact Framework, y compris tous les types OLE Automation. Le marshaling personnalisé, le modèle de thread cloisonné (STA, Single-Threaded Apartment) COM et les interfaces de classe générées automatiquement ne sont pas pris en charge.

Vous pouvez définir une clé de Registre pour enregistrer le marshaling des appels de fonction dans un fichier journal. Pour plus d'informations, consultez Comment : créer des fichiers journaux.

Vous pouvez également utiliser Type Library Importer (Tlbimp.exe) avec le .NET Compact Framework. Dans Visual Studio, vous pouvez ajouter une référence à une bibliothèque de types COM dans un projet Smart Device.

Concernant les structures compressées, .NET Compact Framework version 2.0 ne prend pas en charge Pack, mais elle prend en charge le champ Explicit et l'attribut FieldOffsetAttribute. Notez que les restrictions actuelles empêchent de marshaler une structure qui viole la disposition de structure native. En d'autres termes, les valeurs Int32 doivent être alignées sur 4 octets, Int64 les valeurs Double sur 8 octets, et ainsi de suite. Si vous avez besoin d'une structure compressée où les éléments ne sont pas alignés naturellement, vous devez effectuer le marshaling vous-même.

Pour plus d'informations sur l'interopérabilité et les rubriques Comment associées, consultez Interopérabilité dans le .NET Compact Framework.

Modification des fichiers de ressources

Le format de fichier .resx dans le .NET Compact Framework version 2.0 est le même que dans le .NET Framework complet. Le même Outil Resource File Generator Tool (Resgen.exe) peut être utilisé pour les deux. L'utilitaire CFResgen.exe n'est plus nécessaire.

Voir aussi

Concepts

Windows Forms et graphiques

Autres ressources

Nouveautés de .NET Compact Framework version 2.0