Prise en charge .NET Framework pour les applications Windows Store et Windows Runtime.NET Framework Support for Windows Store Apps and Windows Runtime

Le .NET Framework 4.5 prend en charge un nombre de scénarios de développement de logiciel avec le Runtime de Windows.The .NET Framework 4.5 supports a number of software development scenarios with the Windows Runtime. Ces scénarios se répartissent en trois catégories :These scenarios fall into three categories:

Cette rubrique décrit la prise en charge que le .NET Framework fournit pour ces trois catégories et décrit les scénarios pour les composants Windows Runtime.This topic outlines the support that the .NET Framework provides for all three categories, and describes the scenarios for Windows Runtime Components. La première section inclut des informations de base sur la relation entre le .NET Framework et le Runtime Windows et explique certaines singularités que vous pouvez rencontrer dans le système d’aide et de l’IDE.The first section includes basic information about the relationship between the .NET Framework and the Windows Runtime, and explains some oddities you might encounter in the Help system and the IDE. Le deuxième section décrit des scénarios de développement de composants Windows Runtime.The second section discusses scenarios for developing Windows Runtime Components.

Principes de baseThe Basics

Le .NET Framework prend en charge les trois scénarios de développement répertoriés précédemment en fournissant .NET pour les applications Windows 8.x Store.NET for Windows 8.x Store appset en prenant en charge le Runtime Windows lui-même.The .NET Framework supports the three development scenarios listed earlier by providing .NET pour les applications Windows 8.x Store.NET for Windows 8.x Store apps, and by supporting the Windows Runtime itself.

  • Espaces de noms .NET framework et Windows Runtime fournit une vue simplifiée des bibliothèques de classes .NET Framework et incluent uniquement les types et membres que vous pouvez utiliser pour créer Windows 8.x StoreWindows 8.x Store applications et composants Windows Runtime..NET Framework and Windows Runtime namespaces provides a streamlined view of the .NET Framework class libraries and include only the types and members you can use to create Windows 8.x StoreWindows 8.x Store apps and Windows Runtime Components.

    • Lorsque vous utilisez Visual Studio (Visual Studio 2012 ou version ultérieure) pour développer un Windows 8.x StoreWindows 8.x Store application ou un composant Windows Runtime, un ensemble d’assemblys de référence permet de s’assurer que vous voyez uniquement les types pertinents et les membres.When you use Visual Studio (Visual Studio 2012 or later) to develop a Windows 8.x StoreWindows 8.x Store app or a Windows Runtime component, a set of reference assemblies ensures that you see only the relevant types and members.

    • Cet ensemble d’API est simplifié par la suppression de fonctionnalités qui sont dupliquées dans le .NET Framework ou qui dupliquent Windows Runtime fonctionnalités.This streamlined API set is simplified further by the removal of features that are duplicated within the .NET Framework or that duplicate Windows Runtime features. Par exemple, il contient uniquement les versions génériques des types de collections, et le modèle d’objet de document XML est éliminé en faveur de l’API XML du Runtime Windows défini.For example, it contains only the generic versions of collection types, and the XML document object model is eliminated in favor of the Windows Runtime XML API set.

    • Fonctionnalités qui ne font qu’envelopper l’API du système d’exploitation sont également supprimées, car le Runtime Windows est facile d’appeler du code managé.Features that simply wrap the operating system API are also removed, because the Windows Runtime is easy to call from managed code.

    Pour en savoir plus sur la .NET pour les applications Windows 8.x Store.NET for Windows 8.x Store apps, consultez le vue d’ensemble des applications .NET pour Windows Store.To read more about the .NET pour les applications Windows 8.x Store.NET for Windows 8.x Store apps, see the .NET for Windows Store apps overview. Pour en savoir plus sur le processus de sélection d’API, consultez le .NET pour les applications de style Metro entrée dans le blog .NET.To read about the API selection process, see the .NET for Metro style apps entry in the .NET blog.

  • Le Windows Runtime fournit des éléments d’interface de l’utilisateur pour la création de Windows 8.x StoreWindows 8.x Store applications et donne accès aux fonctionnalités du système d’exploitation.The Windows Runtime provides the user interface elements for building Windows 8.x StoreWindows 8.x Store apps, and provides access to operating system features. Comme le .NET Framework, le Runtime Windows contient des métadonnées qui permet la C# et bibliothèques de classes de compilateurs Visual Basic d’utiliser le Runtime Windows comme ils utilisent le .NET Framework.Like the .NET Framework, the Windows Runtime has metadata that enables the C# and Visual Basic compilers to use the Windows Runtime the way they use the .NET Framework class libraries. Le .NET Framework rend plus facile à utiliser le Runtime Windows en masquant certaines différences :The .NET Framework makes it easier to use the Windows Runtime by hiding some differences:

    • Des différences dans les modèles de programmation entre le .NET Framework et le Runtime de Windows, tels que le modèle pour ajouter et supprimer des gestionnaires d’événements, sont masqués.Some differences in programming patterns between the .NET Framework and the Windows Runtime, such as the pattern for adding and removing event handlers, are hidden. Vous utilisez simplement le modèle .NET Framework.You simply use the .NET Framework pattern.

    • Certaines différences dans les types couramment utilisés (par exemple les collections et les types primitifs) sont masquées.Some differences in commonly used types (for example, primitive types and collections) are hidden. Vous utilisez simplement le type .NET Framework, comme indiqué dans différences visibles dans l’IDE, plus loin dans cet article.You simply use the .NET Framework type, as discussed in Differences That Are Visible in the IDE, later in this article.

La plupart du temps, la prise en charge de .NET Framework pour le Windows Runtime est transparent.Most of the time, .NET Framework support for the Windows Runtime is transparent. La section suivante décrit certaines des différences apparentes entre code managé et le Runtime de Windows.The next section discusses some of the apparent differences between managed code and the Windows Runtime.

Le .NET Framework et la Documentation de référence de l’exécution de WindowsThe .NET Framework and the Windows Runtime Reference Documentation

Le Runtime Windows et les jeux de documentation de .NET Framework sont séparés.The Windows Runtime and the .NET Framework documentation sets are separate. Si vous appuyez sur F1 pour afficher l’aide sur un type ou un membre, la documentation de référence de l’ensemble approprié s’affiche.If you press F1 to display Help on a type or member, reference documentation from the appropriate set is displayed. Toutefois, si vous parcourez le de référence Windows Runtime vous rencontrerez des exemples qui pourront vous sembler étranges :However, if you browse through the Windows Runtime reference you might encounter examples that seem puzzling:

  • Rubriques telles que le IIterable<T> interface n’avez pas la syntaxe de déclaration pour Visual Basic ou c#.Topics such as the IIterable<T> interface don't have declaration syntax for Visual Basic or C#. Au lieu de cela, une note apparaît au-dessus de la section syntaxe (dans ce cas, « .NET : Cette interface s’affiche sous forme de System.Collections.Generic.IEnumerable<T > »).Instead, a note appears above the syntax section (in this case, ".NET: This interface appears as System.Collections.Generic.IEnumerable<T>"). Il s’agit, car le .NET Framework et le Runtime Windows fournissent des fonctionnalités similaires avec des interfaces différentes.This is because the .NET Framework and the Windows Runtime provide similar functionality with different interfaces. En outre, il existe des différences de comportement : IIterable a une méthode First plutôt qu’une méthode GetEnumerator pour retourner l’énumérateur.In addition, there are behavioral differences: IIterable has a First method instead of a GetEnumerator method to return the enumerator. Au lieu de vous contraindre à apprendre une autre manière d’effectuer une tâche très courante, le .NET Framework prend en charge le Runtime Windows en rendant votre code managé s’affichent pour utiliser le type que vous connaissez.Instead of forcing you to learn a different way of performing a common task, the .NET Framework supports the Windows Runtime by making your managed code appear to use the type you're familiar with. Vous ne verrez pas le IIterable interface dans l’IDE, et par conséquent, la seule façon de vous le rencontrerez dans la documentation de référence Windows Runtime est en parcourant directement de cette documentation.You won't see the IIterable interface in the IDE, and therefore the only way you'll encounter it in the Windows Runtime reference documentation is by browsing through that documentation directly.

  • Le SyndicationFeed(String, String, Uri) documentation illustre un problème étroitement lié : Ses types de paramètres semblent différents pour différentes langues.The SyndicationFeed(String, String, Uri) documentation illustrates a closely related issue: Its parameter types appear to be different for different languages. Pour C# et Visual Basic, les types de paramètres sont System.String et System.Uri.For C# and Visual Basic, the parameter types are System.String and System.Uri. Là encore, c’est parce que le .NET Framework a ses propres types String et Uri, et pour ces types couramment utilisés, il est inutile d’obliger les utilisateurs du .NET Framework à apprendre une autre manière de faire les choses.Again, this is because the .NET Framework has its own String and Uri types, and for such commonly used types it doesn't make sense to force .NET Framework users to learn a different way of doing things. Dans l’IDE, le .NET Framework masque les types Windows Runtime correspondants.In the IDE, the .NET Framework hides the corresponding Windows Runtime types.

  • Dans certains cas, comme le GridLength structure, le .NET Framework fournit un type avec le même nom mais davantage de fonctionnalités.In a few cases, such as the GridLength structure, the .NET Framework provides a type with the same name but more functionality. Par exemple, un ensemble de rubriques sur les constructeurs et les propriétés sont associées à GridLength, mais elles ont des blocs de syntaxe uniquement pour Visual Basic et C#, car les membres sont disponibles uniquement dans le code managé.For example, a set of constructor and property topics are associated with GridLength, but they have syntax blocks only for Visual Basic and C# because the members are available only in managed code. Dans le Windows Runtime, les structures ont uniquement des champs.In the Windows Runtime, structures have only fields. La structure Windows Runtime nécessite une classe d’assistance, GridLengthHelper, pour fournir des fonctionnalités équivalentes.The Windows Runtime structure requires a helper class, GridLengthHelper, to provide equivalent functionality. Vous ne verrez par cette classe d’assistance dans l’IDE quand vous écrirez du code managé.You won't see that helper class in the IDE when you're writing managed code.

  • Dans l’IDE, semblent dériver de types Windows Runtime System.Object.In the IDE, Windows Runtime types appear to derive from System.Object. Ils semblent avoir des membres hérités de Object, tels que Object.ToString.They appear to have members inherited from Object, such as Object.ToString. Ces membres fonctionnent comme si les types héritaient réellement de Object, et les types Windows Runtime pouvant être castés en Object.These members operate as they would if the types actually inherited from Object, and Windows Runtime types can be cast to Object. Cette fonctionnalité fait partie de la prise en charge le .NET Framework fournit pour l’exécution de Windows.This functionality is part of the support that the .NET Framework provides for the Windows Runtime. Toutefois, si vous affichez les types dans la documentation de référence Windows Runtime, aucun membre n’apparaît.However, if you view the types in the Windows Runtime reference documentation, no such members appear. La documentation sur ces membres hérités apparents est fournie par la documentation de référence sur System.Object.The documentation for these apparent inherited members is provided by the System.Object reference documentation.

Différences visibles dans l’IDEDifferences That Are Visible in the IDE

En savoir plus avancée des scénarios de programmation, telles que l’utilisation d’un composant Windows Runtime écrit en C# pour fournir la logique d’application pour un Windows 8.x StoreWindows 8.x Store application générée pour Windows à l’aide de JavaScript, ces différences sont visibles dans l’IDE, ainsi que dans le documentation.In more advanced programming scenarios, such as using a Windows Runtime component written in C# to provide the application logic for a Windows 8.x StoreWindows 8.x Store app built for Windows using JavaScript, such differences are apparent in the IDE as well as in the documentation. Quand votre composant retourne un IDictionary<int, string> à JavaScript et que vous regardez dans le débogueur JavaScript, vous verrez les méthodes de IMap<int, string> , car JavaScript utilise le type Windows Runtime.When your component returns an IDictionary<int, string> to JavaScript, and you look at it in the JavaScript debugger, you'll see the methods of IMap<int, string> because JavaScript uses the Windows Runtime type. Certains types de collections fréquemment utilisés dont l’apparence est différente dans les deux langages sont répertoriés dans le tableau suivant :Some commonly used collection types that appear differently in the two languages are shown in the following table:

Type Windows RuntimeWindows Runtime type Type .NET Framework correspondantCorresponding .NET Framework type
IIterable<T> IEnumerable<T>
IIterator<T> IEnumerator<T>
IVector<T> IList<T>
IVectorView<T> IReadOnlyList<T>
IMap<K, V> IDictionary<TKey, TValue>
IMapView<K, V> IReadOnlyDictionary<TKey, TValue>
IBindableIterable IEnumerable
IBindableVector IList
Windows.UI.Xaml.Data.INotifyPropertyChanged System.ComponentModel.INotifyPropertyChanged
Windows.UI.Xaml.Data.PropertyChangedEventHandler System.ComponentModel.PropertyChangedEventHandler
Windows.UI.Xaml.Data.PropertyChangedEventArgs System.ComponentModel.PropertyChangedEventArgs

Dans le Windows Runtime, IMap<K, V> et IMapView<K, V> sont itérés à l’aide de IKeyValuePair.In the Windows Runtime, IMap<K, V> and IMapView<K, V> are iterated using IKeyValuePair. Lorsque vous les passez au code managé, ils apparaissent comme IDictionary<TKey, TValue> et IReadOnlyDictionary<TKey, TValue>, donc bien sûr vous utilisez System.Collections.Generic.KeyValuePair<TKey, TValue> pour les énumérer.When you pass them to managed code, they appear as IDictionary<TKey, TValue> and IReadOnlyDictionary<TKey, TValue>, so naturally you use System.Collections.Generic.KeyValuePair<TKey, TValue> to enumerate them.

La façon dont les interfaces apparaissent dans le code managé affecte la façon dont les types qui implémentent ces interfaces apparaissent.The way interfaces appear in managed code affects the way types that implement these interfaces appear. Par exemple, la classe PropertySet implémente IMap<K, V>, qui s'affiche dans le code managé sous la forme IDictionary<TKey, TValue>.For example, the PropertySet class implements IMap<K, V>, which appears in managed code as IDictionary<TKey, TValue>. PropertySet apparaît comme ayant implémenté IDictionary<TKey, TValue> au lieu de IMap<K, V>, donc en code managé une méthode Add semble se comporter comme la méthode Add sur les dictionnaires .NET Framework.PropertySet appears as if it implemented IDictionary<TKey, TValue> instead of IMap<K, V>, so in managed code it appears to have an Add method, which behaves like the Add method on .NET Framework dictionaries. Il ne semble pas avoir de méthode Insert.It doesn't appear to have an Insert method.

Pour plus d’informations sur l’utilisation de .NET Framework pour créer un composant Windows Runtime et une procédure pas à pas qui montre comment utiliser un tel composant avec JavaScript, consultez Creating Windows Runtime Components in C# et Visual Basic.For more information about using the .NET Framework to create a Windows Runtime component, and a walkthrough that shows how to use such a component with JavaScript, see Creating Windows Runtime Components in C# and Visual Basic.

Types primitifsPrimitive Types

Pour activer l’utilisation naturelle de l’exécution de Windows dans le code managé, les types primitifs .NET Framework s’affichent au lieu de types primitifs de Runtime de Windows dans votre code.To enable the natural use of the Windows Runtime in managed code, .NET Framework primitive types appear instead of Windows Runtime primitive types in your code. Dans le .NET Framework, les types primitifs, comme la structure Int32 ont de nombreuses propriétés et méthodes utiles, telles que la méthode Int32.TryParse.In the .NET Framework, primitive types like the Int32 structure have many useful properties and methods, such as the Int32.TryParse method. En revanche, les types primitifs et les structures dans le Runtime Windows ont uniquement des champs.By contrast, primitive types and structures in the Windows Runtime have only fields. Quand vous utilisez des primitives dans du code managé, elles semblent être des types .NET Framework, et vous pouvez en utiliser les propriétés et les méthodes comme vous le faites habituellement.When you use primitives in managed code, they appear to be .NET Framework types, and you can use the properties and methods of the .NET Framework types as you normally would. La liste suivante fournit un résumé :The following list provides a summary:

  • Pour les primitives de Windows Runtime Int32, Int64, Single, Double, Boolean, String (une collection immuable de caractères Unicode), Enum, UInt32, UInt64, et Guid, utilisez le type du même nom dans la System espace de noms.For the Windows Runtime primitives Int32, Int64, Single, Double, Boolean, String (an immutable collection of Unicode characters), Enum, UInt32, UInt64, and Guid, use the type of the same name in the System namespace.

  • Pour UInt8, utilisez System.Byte.For UInt8, use System.Byte.

  • Pour Char16, utilisez System.Char.For Char16, use System.Char.

  • Pour l'interface IInspectable, utilisez System.Object.For the IInspectable interface, use System.Object.

  • Pour HRESULT, utilisez une structure avec un membre System.Int32.For HRESULT, use a structure with one System.Int32 member.

Comme avec les types d’interface, le seul moment où vous pouvez voir la preuve de cette représentation est quand votre projet .NET Framework est un composant Windows Runtime qui est utilisé par un Windows 8.x StoreWindows 8.x Store application générée à l’aide de JavaScript.As with interface types, the only time you might see evidence of this representation is when your .NET Framework project is a Windows Runtime component that is used by a Windows 8.x StoreWindows 8.x Store app built using JavaScript.

Autres types Windows Runtime de base couramment utilisées, qui s’affichent dans le code managé comme leurs équivalents .NET Framework incluent le Windows.Foundation.DateTime structure, qui apparaît dans le code managé comme le System.DateTimeOffset structure et le Windows.Foundation.TimeSpan structure, qui apparaît comme le System.TimeSpan structure.Other basic, commonly used Windows Runtime types that appear in managed code as their .NET Framework equivalents include the Windows.Foundation.DateTime structure, which appears in managed code as the System.DateTimeOffset structure, and the Windows.Foundation.TimeSpan structure, which appears as the System.TimeSpan structure.

Autres différencesOther Differences

Dans certains cas, le fait que les types .NET Framework s’affichent dans votre code au lieu de types Windows Runtime nécessite une action de votre part.In a few cases, the fact that .NET Framework types appear in your code instead of Windows Runtime types requires action on your part. Par exemple, le Windows.Foundation.Uri classe apparaît sous la forme System.Uri dans le code .NET Framework.For example, the Windows.Foundation.Uri class appears as System.Uri in .NET Framework code. System.Uri autorise un URI relatif, mais Windows.Foundation.Uri nécessite un URI absolu.System.Uri allows a relative URI, but Windows.Foundation.Uri requires an absolute URI. Par conséquent, lorsque vous transmettez un URI à une méthode Windows Runtime, vous devez vous assurer qu’il est absolu.Therefore, when you pass a URI to a Windows Runtime method, you must ensure that it's absolute. (Consultez transmission d’un URI au Windows Runtime.)(See Passing a URI to the Windows Runtime.)

Scénarios pour le développement de composants Windows RuntimeScenarios for Developing Windows Runtime Components

Les scénarios sont pris en charge pour les composants managés du Runtime Windows varient selon les principes généraux suivants :The scenarios that are supported for managed Windows Runtime Components depend on the following general principles:

  • De composants Windows Runtime qui sont créés à l’aide de .NET Framework ne présentent aucune différence apparente à partir d’autres Runtimelibraries Windows.Windows Runtime Components that are built using the .NET Framework have no apparent differences from other Windows Runtimelibraries. Par exemple, si vous ré-implémentez un composant Windows Runtime natif à l’aide du code managé, les deux composants sont différenciés vers l’extérieur.For example, if you re-implement a native Windows Runtime component by using managed code, the two components are outwardly indistinguishable. Le fait que votre composant soit écrit en code managé est invisible pour le code qui l’utilise, même si celui-ci est managé.The fact that your component is written in managed code is invisible to the code that uses it, even if that code is itself managed code. Cependant, en interne, votre composant constitue du vrai code managé et s’exécute sur le Common Language Runtime (CLR).However, internally, your component is true managed code and runs on the common language runtime (CLR).

  • Les composants peuvent contenir des types qui implémentent une logique d’application, des contrôles d’interface utilisateur Windows 8.x StoreWindows 8.x Store ou les deux.Components can contain types that implement application logic, Windows 8.x StoreWindows 8.x Store UI controls, or both.

    Notes

    Nous vous recommandons de séparer les éléments d’interface utilisateur de la logique d’application.It's good practice to separate UI elements from application logic. De plus, vous ne pouvez pas utiliser de contrôles d’interface utilisateur Windows 8.x StoreWindows 8.x Store dans une application Windows 8.x StoreWindows 8.x Store conçue pour Windows à l’aide de JavaScript et HTML.Also, you can't use Windows 8.x StoreWindows 8.x Store UI controls in a Windows 8.x StoreWindows 8.x Store app built for Windows using JavaScript and HTML.

  • Un composant peut être un projet dans une solution Visual Studio pour une application Windows 8.x StoreWindows 8.x Store, ou un composant réutilisable que vous pouvez ajouter à plusieurs solutions.A component can be a project within a Visual Studio solution for a Windows 8.x StoreWindows 8.x Store app, or a reusable component that you can add to multiple solutions.

    Notes

    Si votre composant doit être utilisé uniquement avec C# ou Visual Basic, il n’existe aucune raison d’en faire un composant Windows Runtime.If your component will be used only with C# or Visual Basic, there's no reason to make it a Windows Runtime component. Si vous y une bibliothèque de classes .NET Framework ordinaire au lieu de cela, vous n’êtes pas obligé de limiter sa surface d’API publique aux types Windows Runtime.If you make it an ordinary .NET Framework class library instead, you don't have to restrict its public API surface to Windows Runtime types.

  • Vous pouvez publier des versions des composants réutilisables à l’aide de l’exécution de Windows VersionAttribute attribut pour identifier les types (et les membres dans un type) ont été ajoutées dans différentes versions.You can release versions of reusable components by using the Windows Runtime VersionAttribute attribute to identify which types (and which members within a type) were added in different versions.

  • Les types dans votre composant peuvent dériver de types Windows Runtime.The types in your component can derive from Windows Runtime types. Contrôles peuvent dériver des types de contrôles primitifs dans le Windows.UI.Xaml.Controls.Primitives espace de noms ou de contrôles plus achevés tels que Button.Controls can derive from the primitive control types in the Windows.UI.Xaml.Controls.Primitives namespace or from more finished controls such as Button.

    Important

    En commençant par Windows 8Windows 8 et le .NET Framework 4.5, tous les types publics dans un composant Windows Runtime managé doit être scellé.Starting with Windows 8Windows 8 and the .NET Framework 4.5, all public types in a managed Windows Runtime component must be sealed. Un type dans un autre composant Windows Runtime ne peut pas dériver à partir de celles-ci.A type in another Windows Runtime component can't derive from them. Si vous souhaitez fournir un comportement polymorphe dans votre composant, vous pouvez créer une interface et l’implémenter dans les types polymorphes.If you want to provide polymorphic behavior in your component, you can create an interface and implement it in the polymorphic types.

  • Tous les types de paramètre et de retour sur les types publics dans votre composant doivent être des types Windows Runtime (y compris les types Windows Runtime qui définit votre composant).All parameter and return types on the public types in your component must be Windows Runtime types (including the Windows Runtime types that your component defines).

Les sections suivantes fournissent des exemples de scénarios courants.The following sections provide examples of common scenarios.

Logique d’application pour une application Windows 8.x StoreWindows 8.x Store avec JavaScriptApplication Logic for a Windows 8.x StoreWindows 8.x Store App with JavaScript

Quand vous développez une application Windows 8.x StoreWindows 8.x Store pour Windows à l’aide de JavaScript, vous constaterez peut-être que certaines parties de la logique d’application sont plus performantes (ou plus faciles à développer) dans du code managé.When you develop a Windows 8.x StoreWindows 8.x Store app for Windows using JavaScript, you might find that some parts of the application logic perform better in managed code, or are easier to develop. JavaScript ne peut pas utiliser les bibliothèques de classes .NET Framework directement, mais vous pouvez faire de la bibliothèque de classes un fichier .WinMD.JavaScript can't use .NET Framework class libraries directly, but you can make the class library a .WinMD file. Dans ce scénario, le composant Windows Runtime étant partie intégrante de l’application, il est inutile de fournir des attributs de version.In this scenario, the Windows Runtime component is an integral part of the app, so it doesn't make sense to provide version attributes.

Contrôles d’interface utilisateur Windows 8.x StoreWindows 8.x Store réutilisablesReusable Windows 8.x StoreWindows 8.x Store UI Controls

Vous pouvez empaqueter un ensemble de contrôles d’interface utilisateur connexes dans un composant Windows Runtime réutilisable.You can package a set of related UI controls in a reusable Windows Runtime component. Le composant peut être commercialisé seul ou utilisé comme élément dans les applications que vous créez.The component can be marketed on its own or used as an element in the apps you create. Dans ce scénario, il est judicieux d’utiliser le Runtime Windows VersionAttribute attribut pour améliorer la compatibilité.In this scenario, it makes sense to use the Windows Runtime VersionAttribute attribute to improve compatibility.

Logique d’application réutilisable à partir d’applications .NET Framework existantesReusable Application Logic from Existing .NET Framework Apps

Vous pouvez empaqueter le code managé à partir de vos applications de bureau existantes comme composant autonome Windows Runtime.You can package managed code from your existing desktop apps as a standalone Windows Runtime component. Cela vous permet d’utiliser le composant dans des applications Windows 8.x StoreWindows 8.x Store générées à l’aide de C++ ou JavaScript, ainsi que dans des applications Windows 8.x StoreWindows 8.x Store générées à l’aide de C# ou Visual Basic.This enables you to use the component in Windows 8.x StoreWindows 8.x Store apps built using C++ or JavaScript, as well as in Windows 8.x StoreWindows 8.x Store apps built using C# or Visual Basic. Le contrôle de version est une option s’il existe plusieurs scénarios de réutilisation du code.Versioning is an option if there are multiple reuse scenarios for the code.

TitreTitle DescriptionDescription
Vue d’ensemble de .NET pour les applications Windows Store.NET for Windows Store apps overview Décrit les types .NET Framework et les membres que vous pouvez utiliser pour créer Windows 8.x StoreWindows 8.x Store RuntimeComponents de Windows et des applications.Describes the .NET Framework types and members that you can use to create Windows 8.x StoreWindows 8.x Store apps and Windows RuntimeComponents. (Dans le Centre de développement Windows.)(In the Windows Dev Center.)
Feuille de route pour les applications du Windows Store à l’aide de c# ou Visual BasicRoadmap for Windows Store apps using C# or Visual Basic Fournit des ressources clés pour vous aider à commencer à développer des applications Windows 8.x StoreWindows 8.x Store à l’aide de C# ou Visual Basic, notamment de nombreuses rubriques de démarrage rapide, des instructions et des bonnes pratiques.Provides key resources to help you get started developing Windows 8.x StoreWindows 8.x Store apps by using C# or Visual Basic, including many Quickstart topics, guidelines, and best practices. (Dans le Centre de développement Windows.)(In the Windows Dev Center.)
Comment : procédures (XAML)How tos (XAML) Fournit des ressources clés pour vous aider à commencer à développer des applications Windows 8.x StoreWindows 8.x Store à l’aide de C# ou Visual Basic, notamment de nombreuses rubriques de démarrage rapide, des instructions et des bonnes pratiques.Provides key resources to help you get started developing Windows 8.x StoreWindows 8.x Store apps by using C# or Visual Basic, including many Quickstart topics, guidelines, and best practices. (Dans le Centre de développement Windows.)(In the Windows Dev Center.)
Création de composants Windows Runtime en C# et Visual BasicCreating Windows Runtime Components in C# and Visual Basic Décrit comment créer un composant Windows Runtime à l’aide de .NET Framework, explique comment l’utiliser en tant que partie d’un Windows 8.x StoreWindows 8.x Store application créée pour Windows à l’aide de JavaScript et décrit comment déboguer la combinaison avec Visual Studio.Describes how to create a Windows Runtime component using the .NET Framework, explains how to use it as part of a Windows 8.x StoreWindows 8.x Store app built for Windows using JavaScript, and describes how to debug the combination with Visual Studio. (Dans le Centre de développement Windows.)(In the Windows Dev Center.)
Guide de référence Windows RuntimeWindows Runtime reference La documentation de référence pour le Runtime de Windows.The reference documentation for the Windows Runtime. (Dans le Centre de développement Windows.)(In the Windows Dev Center.)
Passage d’un URI au Windows RuntimePassing a URI to the Windows Runtime Décrit un problème pouvant survenir lorsque vous transmettez un URI à partir de code managé à l’exécution de Windows et comment l’éviter.Describes an issue that can arise when you pass a URI from managed code to the Windows Runtime, and how to avoid it.