Vue d'ensemble de .NET pour les applications Windows Store
Le .NET Framework propose un sous-ensemble de types managés que vous pouvez utiliser pour créer des applications Windows Store à l'aide de C# ou Visual Basic. Ce sous-ensemble de types managés est appelé .NET pour les applications du Windows Store et permet aux développeurs .NET Framework de créer des applications Windows Store dans une infrastructure de programmation familière. Les types qui ne sont pas liés au développement d'applications Windows Store ne sont pas inclus dans le sous-ensemble.
Vous utilisez ces types managés avec des types de l'API Windows Runtime pour créer des applications Windows Store. En général, vous ne remarquerez aucune différence entre l'utilisation des types managés et des types Windows Runtime, mais les types managés résident dans les espaces de noms qui commencent par System et les types Windows Runtime résident dans les espaces de noms qui commencent par Windows. Ensemble, les .NET pour les applications du Windows Store et Windows Runtime fournissent un ensemble complet de types et de membres disponibles pour développer des applications Windows Store avec C# ou Visual Basic.
Le sous-ensemble de types et de membres managés a été clairement conçu pour développer des applications Windows Store. Par conséquent, il omet les éléments suivants :
Les types et les membres qui ne sont pas applicables au développement des applications Windows Store (par exemple, les types ASP.NET et console).
Les types hérités et obsolètes.
Les types qui se superposent avec les types Windows Runtime.
Les types et les membres qui incluent dans un wrapper des fonctionnalités du système d'exploitation (par exemple System.Diagnostics.EventLog et les compteurs de performance).
Les membres qui sont source de confusion (par exemple, la méthode Close sur les types d'E/S).
Dans certains cas, un type utilisé dans une application de bureau .NET Framework n'existe pas dans les .NET pour les applications du Windows Store. À la place, vous pouvez utiliser un type de Windows Runtime. Par exemple, la classe System.IO.IsolatedStorage.IsolatedStorageSettings n'est pas incluse dans les .NET pour les applications du Windows Store, mais la classe Windows.Storage.ApplicationDataContainer fournit un comportement similaire pour stocker des paramètres d'application. La section Convertir votre code .NET Framework existant présente des exemples de modifications courantes que vous devrez peut-être apporter.
Le jeu complet d'assemblys pour les .NET pour les applications du Windows Store est référencé automatiquement dans votre projet lorsque vous créez une application Windows Store à l'aide de C# ou Visual Basic. Par conséquent, vous pouvez utiliser l'un des types pris en charge par les .NET pour les applications du Windows Store dans votre projet sans qu'aucune action supplémentaire ne soit nécessaire. Pour obtenir la liste des espaces de noms combinés fournis par les .NET pour les applications du Windows Store et Windows Runtime (regroupés par domaine fonctionnel), consultez la section Espaces de noms .NET Framework et Windows Runtime.
Pour obtenir une liste des espaces de noms et des types inclus dans le sous-ensemble du .NET Framework, consultez .NET pour les applications Windows Store - API prises en charge.
Vous pouvez également créer un projet Bibliothèque de classes portable pour développer une bibliothèque .NET Framework qui peut être utilisée à partir d'une application Windows Store. Le projet doit inclure .NET pour les applications Windows Store comme l'une des plateformes cibles. Bibliothèque de classes portable est particulièrement utile pour développer des classes qui peuvent être utilisées à partir d'applications pour différents types de plateformes, comme une application Windows Phone, une application de bureau et une application Windows Store. Consultez Vue d'ensemble portable de bibliothèque de classes.
Cette rubrique inclut les sections suivantes :
Convertir votre code .NET Framework existant
Méthodes d'extension pour les types de conversion.
Espaces de noms .NET Framework et Windows Runtime
Convertir votre code .NET Framework existant
En général, vous ne vous contentez pas de convertir une application .NET Framework existante en application Windows Store. Vous reconcevez l'application .NET Framework pour la nouvelle expérience utilisateur. Toutefois, vous pouvez convertir des parties d'une application .NET Framework existante afin de l'utiliser dans une application Windows Store. Lorsque vous convertissez un code .NET Framework existant, vous devez savoir que vous devrez peut-être apporter les modifications suivantes à votre application Windows Store :
Modifications de l'interface utilisateur
Modifications d'E/S
Modifications de stockage
Modifications de réseau
Modifications des threads
Modifications des réflexions
Modifications de la sécurité
Modifications des ressources
Modifications des exceptions
Modifications de WCF
Modifications des types .NET Framework généraux
Modifications de l'interface utilisateur
Lorsque vous convertissez un code d'interface utilisateur à partir d'une application Silverlight ou Windows Phone, vous pouvez utiliser un grand nombre des types d'interface utilisateur, mais les types se trouvent désormais dans les espaces de noms Windows.UI.Xaml et non dans les espaces de noms System.Windows. Ces nouveaux types d'interface utilisateur sont semblables aux types d'interface utilisateur .NET Framework précédents, mais certains de leurs membres sont différents.
Remplacer |
Par |
---|---|
Types d'interface utilisateur dans les espaces de noms System.Windows.* |
Types d'interface utilisateur dans les espaces de noms Windows.UI.Xaml.* (par exemple, la classe Border est située dans l'espace de noms Windows.UI.Xaml.Controls) |
Pour plus d'informations sur le portage du code d'interface utilisateur, consultez Migrer une application Windows Phone 7 en XAML.
Modifications d'E/S
Les types d'E/S contiennent de nouveaux membres pour prendre en charge le nouveau mot clé await dans le modèle de programmation asynchrone.
Modifications de stockage
Au lieu d'utiliser la classe System.IO.IsolatedStorage, utilisez les types dans les espaces de noms Windows.Storage pour stocker des données et des fichiers locaux.
Remplacer |
Par |
---|---|
Classe System.IO.IsolatedStorage.IsolatedStorageFile |
Propriété LocalFolder de la classe Windows.Storage.ApplicationData
|
Classe System.IO.IsolatedStorage.IsolatedStorageSettings |
Propriété LocalSettings de la classe Windows.Storage.ApplicationData
|
Pour plus d'informations, consultez Données d'application.
Modifications de réseau
Remplacer |
Par |
---|---|
Classe System.Net.WebClient |
Classe System.Net.Http.HttpClient pour envoyer des requêtes HTTP et recevoir des réponses HTTP ou Types dans l'espace de noms Windows.Networking.BackgroundTransfer pour transférer ou télécharger de grandes quantités de données |
Types dans l'espace de noms System.Net.Sockets |
Types dans l'espace de noms Windows.Networking.Sockets |
URI relatifs, lorsqu'ils sont passés à Windows Runtime |
URI absolus Pour plus d'informations, consultez Transmission d'un URI à Windows Runtime. |
Code de gestion des exceptions qui intercepte l'exception UriFormatException |
Code qui intercepte l'exception FormatException, qui est la classe parente de UriFormatException |
Modifications des threads
Certains membres de thread .NET Framework ont changé et certains types sont maintenant disponibles dans l'API Windows Runtime.
Remplacer |
Par |
---|---|
Méthode System.Threading.Thread.MemoryBarrier |
Méthode Interlocked.MemoryBarrier dans l'espace de noms System.Threading |
Propriété System.Threading.Thread.ManagedThreadId |
Propriété Environment.CurrentManagedThreadId dans l'espace de noms System |
Propriété System.Threading.Thread.CurrentCulture |
Propriété CultureInfo.CurrentCulture dans l'espace de noms System.Globalization |
Propriété System.Threading.Thread.CurrentUICulture |
Propriété CultureInfo.CurrentUICulture dans l'espace de noms System.Globalization |
Classe System.Threading.Timer |
|
Classe System.Threading.ThreadPool |
|
Code qui place en file d'attente le travail vers le pool |
|
Code qui place en file d'attente le travail vers le pool et qui attend la fin de l'exécution |
|
Code qui crée un élément de travail de longue durée |
|
Modifications des réflexions
La plupart des membres de la classe System.Type ont été déplacés vers la classe System.Reflection.TypeInfo. Vous pouvez récupérer l'objet TypeInfo en appelant la méthode System.Reflection.IntrospectionExtensions.GetTypeInfo(System.Type), qui est une méthode d'extension pour Type.
Remplacer |
Par |
---|---|
type.Assembly |
type.GetTypeInfo().Assembly |
type.GetMethods(BindingFlags.DeclaredOnly) |
type.GetTypeInfo().DeclaredMethods |
type.GetMethod("MethodName", BindingFlags.DeclaredOnly) |
type.GetTypeInfo().GetDeclaredMethod("MethodName") |
type.GetNestedTypes() |
type.GetTypeInfo().DeclaredNestedTypes |
Méthode System.Delegate.CreateDelegate |
Méthode MethodInfo.CreateDelegate |
Pour plus d'informations, consultez Réflexion dans le .NET Framework pour les applications Windows Store dans MSDN Library.
Modifications de la sécurité
La plupart des types pour les opérations de sécurité, d'authentification et de chiffrement sont disponibles via les types Windows Runtime. Pour obtenir une liste complète des espaces de noms de sécurité disponibles pour les applications Windows Store, consultez la liste des espaces de noms de sécurité plus loin dans cette rubrique.
Modifications des ressources
Pour les applications Windows Store, vous créez un fichier de ressources unique au lieu du modèle « hub and spoke » utilisé dans les applications de bureau. Vous pouvez également utiliser les types de ressources des espaces de noms Windows.ApplicationModel.Resources et Windows.ApplicationModel.Resources.Core au lieu de l'espace de noms System.Resources.
Pour plus d'informations, consultez Création et récupération de ressources dans les applications du Windows Store.
Modifications des exceptions
Dans certains cas, un type managé lève une exception qui n'est pas incluse dans les .NET pour les applications du Windows Store. Dans ces cas, vous pouvez intercepter la classe parente de l'exception qui n'est pas incluse. Par exemple, dans une application de bureau, vous interceptez l'exception UriFormatException pour gérer une URI valide. En revanche, dans une application Windows Store, vous interceptez l'exception FormatException, car UriFormatException n'est pas incluse dans les .NET pour les applications du Windows Store. FormatException est la classe parente de UriFormatException.
Modifications de WCF
Dans les applications de Windows Store, vous pouvez utiliser la fonctionnalité cliente Windows Communication Foundation (WCF) pour récupérer des données d'un service WCF, mais vous ne pouvez pas créer un service WCF pour fournir les données.
Modifications des types .NET Framework généraux
Remplacer |
Par |
---|---|
Méthode System.Xml.XmlConvert.ToDateTime |
Méthode XmlConvert.ToDateTimeOffset |
Interface System.ICloneable |
Méthode personnalisée qui retourne le type approprié |
Méthodes System.Array.AsReadOnly et System.Collections.Generic.List<T>.AsReadOnly |
Nouvelle instance de la classe System.Collections.ObjectModel.ReadOnlyCollection<T>, créée comme suit :
|
Méthodes d'extension pour les types de conversion.
Dans la plupart des cas, vous développez des applications Windows Store à l'aide des types .NET Framework et Windows Runtime, sans considération ni conversion spécifique. Toutefois, dans certains cas, le .NET Framework fournit des méthodes d'extension pour simplifier l'interaction entre les types .NET Framework et les types Windows Runtime. Ces méthodes d'extension figurent dans les classes suivantes :
System.IO.WindowsRuntimeStreamExtensions, pour la conversion entre les flux managés et les flux de Windows Runtime.
System.IO.WindowsRuntimeStorageExtensions, pour l'ouverture des fichiers et des dossiers Windows Runtime en tant que flux managés.
System.Runtime.InteropServices.WindowsRuntime.WindowsRuntimeBufferExtensions, pour la conversion vers et à partir de IBuffer.
Espaces de noms .NET Framework et Windows Runtime
Les sections suivantes répertorient les espaces de noms fournis dans les .NET pour les applications du Windows Store et Windows Runtime, organisés par fonctionnalités.
Collections
Fondamentaux
Données et contenu
Appareils
Diagnostics
Fichiers et dossiers
Globalisation
Graphiques
Managed Extensibility Framework (MEF)
Pour installer les espaces de noms suivants, ouvrez votre projet dans Visual Studio 2012, choisissez Manage NuGet Packages dans le menu Projet et recherchez en ligne le package Microsoft.Composition.
Média
Réseau
Présentation
Impression
Réflexion
Ressources
Sécurité
Social
Thread
Automation de l'interface utilisateur
Interaction utilisateur
Langages et compilateurs
Voir aussi
Concepts
.NET pour les applications Windows Store - API prises en charge
Création de composants Windows Runtime en C# et Visual Basic
Autres ressources
Prise en charge .NET Framework pour les applications Windows Store et Windows Runtime