Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Développement interplateforme avec .NET Framework

Le projet Bibliothèque de classes portable dans Visual Studio 2012 prend en charge le développement multiplateforme d'applications .NET Framework.

Utilisez ce projet pour écrire et générer des assemblys portables qui fonctionnent sans modification sur plusieurs plateformes, telles que Windows 7, Windows 8, Silverlight, Windows Phone et Xbox 360. Par exemple, vous pouvez créer des classes qui contiennent une logique métier partagée pour des applications de bureau, des applications du Windows Store et des applications mobiles. Vous pouvez alors référencer ces classes à partir de vos applications.

Le projet Bibliothèque de classes portable prend en charge un sous-ensemble d'assemblys à partir du .NET Framework, de Silverlight, de .NET pour les applications du Windows Store, de Windows Phone et de Xbox 360, et fournit un modèle Visual Studio que vous pouvez utiliser pour générer des assemblys qui s'exécutent sans modification sur ces plateformes. Si vous n'utilisez pas un projet Bibliothèque de classes portable, vous devez cibler un type d'application unique, puis retravailler manuellement la bibliothèque de classes pour les autres types d'applications. Avec le projet Bibliothèque de classes portable, vous pouvez réduire le temps passé et les coûts de développement et de test du code en générant des assemblys portables qui seront partagés entre plusieurs applications pour différents appareils.

Remarque Remarque

Si vous utilisez Visual Studio 2013, les options et les menus disponibles peuvent varier de ce qui est décrit dans cet article.

Les fonctionnalités du projet Bibliothèque de classes portable sont décrites dans les sections suivantes :

Si vous utilisez une version multiplateforme de Visual Studio 2012 comme environnement de développement, quasiment tout ce dont vous avez besoin pour développer un projet Bibliothèque de classes portable est déjà à votre disposition. Il est important de noter que Bibliothèque de classes portable n'est pas disponible dans certaines versions de Visual Studio à plateforme unique, telles que Visual Studio Express pour Windows 8. De plus, si vous souhaitez développer pour Windows Phone 8, vous devez installer Windows Phone SDK 8.0 en plus de la version de Visual Studio 2012 que vous avez déjà installée.

Pour installer les outils Bibliothèque de classes portable sur un ordinateur de build sans installer Visual Studio 2012, téléchargez Portable Library Tools, puis enregistrez le fichier téléchargé (PortableLibraryTools.exe) sur votre ordinateur. Exécutez le programme d'installation à partir d'une fenêtre d'invite de commandes et ajoutez le commutateur /buildmachine sur la ligne de commande.

Lorsque vous créez un projet Bibliothèque de classes portable, vous pouvez choisir deux plateformes ou plus à cibler. Le tableau ci-dessous indique les plateformes disponibles.

Plateforme

Versions

.NET Framework

.NET Framework 4 et versions ultérieures

.NET Framework 4.0.3 et versions ultérieures

.NET Framework 4.5

Silverlight

Silverlight 4 et versions ultérieures (sélection par défaut)

Silverlight 5

Windows Phone

Windows Phone 7 et versions ultérieures (sélection par défaut)

Windows Phone 7.5 et versions ultérieures

Windows Phone 8

Remarque importante Important
Vous devez installer Windows Phone SDK 8.0 pour l'option Windows Phone 8.

.NET pour les applications du Windows Store (*)

N/A

Xbox 360

N/A

Le tableau identifie les quatre plateformes ou versions sélectionnées par défaut. Vous pouvez modifier ces plateformes par défaut à l'aide de la boîte de dialogue Propriétés du projet, comme indiqué dans la section Sélection des plateformes à cibler.

Lorsque vous spécifiez les plateformes à cibler dans un projet Bibliothèque de classes portable, les assemblys pris en charge pour ces plateformes sont automatiquement référencés dans votre projet. Vous n'avez pas à ajouter ni à supprimer d'assemblys. Les assemblys référencés sont automatiquement mis à jour si vous modifiez les plateformes cibles.

Si vous ciblez uniquement .NET Framework 4.5 et .NET pour les applications du Windows Store, vous avez accès à un jeu beaucoup plus large d'assemblys que ce qui est disponible pour d'autres combinaisons de plateformes. Ce jeu plus large d'assemblys est presque identique à .NET pour les applications du Windows Store, mais n'inclut pas les classes figurant dans les espaces de noms Windows.UI.Xaml. Pour plus d'informations, consultez .NET pour les applications Windows Store – API prises en charge dans le Centre de développement Windows.

Le tableau ci-dessous indique les fonctionnalités prises en charge sur les plateformes et versions disponibles.

Fonctionnalité

.NET Framework

Windows Store

Silverlight

Windows Phone

Xbox 360

Fondamentaux

LINQ

IQueryable

7.5 et versions ultérieures

Mot clé dynamique

Uniquement 4.0 et versions ultérieures

Managed Extensibility Framework (MEF)

Bibliothèque de classes de réseau (NCL)

Sérialisation

Windows Communication Foundation (WCF)

Modèle Modèle-Vue-Vue (MVVM)

4.5 uniquement

Annotations de données

4.0.3 et 4.5 uniquement

XLINQ

4.0.3 et 4.5 uniquement

System.Numerics

Les types et les membres disponibles dans les projets Bibliothèque de classes portable sont contraints par plusieurs facteurs de compatibilité :

  • Ils doivent être partagés entre les plateformes cibles que vous avez sélectionnées.

  • Leur comportement doit être similaire sur ces plateformes.

  • Ils ne doivent pas être candidats pour la dépréciation.

  • Ils doivent s'avérer utiles dans un environnement portable, en particulier lorsque les membres qui les prennent en charge ne sont pas portables.

Par exemple, le projet Bibliothèque de classes portable ne contient aucun membre ni type d'interface utilisateur en raison des différences de comportement entre les interfaces utilisateur des différents appareils. Vous pouvez également rencontrer des limitations si vous ciblez les plateformes (telles que Xbox, .NET Framework 4 et Windows Phone 7) qui sont sorties avant l'introduction de la Bibliothèque de classes portable.

Vous pouvez déterminer les membres pris en charge par la Bibliothèque de classes portable dans les rubriques de référence de la bibliothèque de classes .NET Framework. Dans la table des membres pour une classe, l'icône Bibliothèque de classes portable suivante s'affiche en regard des membres pris en charge.

Pris en charge par la bibliothèque portable

Par exemple, l'image suivante montre que la propriété Chars de la classe String est prise en charge dans la Bibliothèque de classes portable.

Icône du membre pris en charge

Vous pouvez également rechercher dans la section Informations sur la version d'une rubrique de référence une note qui indique qu'un type ou un membre est pris en charge dans le projet Bibliothèque de classes portable, comme décrit ci-dessous.

Informations de version de la bibliothèque portable

Il est fréquent d'avoir à appeler des membres non portables à partir d'une classe portable. Vous ne pouvez pas appeler des membres non portables directement, car ces membres ne sont pas disponibles dans le projet Bibliothèque de classes portable. À la place, vous pouvez créer une classe abstraite dans le projet Bibliothèque de classes portable et utiliser cette classe pour tous les codes portables. Dans le projet spécifique à la plateforme, vous créez une classe enfant de la classe abstraite et implémentez des comportements spécifiques à la plateforme.

L'exemple ci-dessous illustre une classe portable permettant d'utiliser les paramètres locaux. Comme les paramètres locaux sont gérés différemment dans une application du Windows Store et une application Silverlight, la classe portable ne fournit aucun détail d'implémentation.


using System;

namespace ExamplePortableLibrary
{
    public abstract class ExampleLocalSettings
    {
        public abstract void SetLocalValue(string name, object value);

        public static ExampleLocalSettings Instance { get; set; }
    }
}


Dans votre projet Bibliothèque de classes portable, vous pouvez utiliser cette méthode comme suit :

ExampleLocalSettings.Instance.SetLocalValue("ExampleSetting", "New value to add");

Dans votre projet Silverlight, vous ajoutez une référence à l'assembly portable, puis créez une classe enfant qui implémente l'opération de configuration locale spécifique à un environnement Silverlight. L'exemple suivant illustre une implémentation Silverlight de la classe ExampleLocalSettings.


using System;
using System.IO.IsolatedStorage;
using ExamplePortableLibrary;

namespace SilverlightApplication1
{
    class SilverlightImplementation : ExampleLocalSettings
    {
        public override void SetLocalValue(string name, object value)
        {
            IsolatedStorageSettings.ApplicationSettings.Add(name, value);
        }
    }
}


Dans votre application du Windows Store, vous ajoutez une référence à l'assembly portable, puis créez une classe enfant qui implémente l'opération de configuration locale spécifique aux applications du Windows Store. L'exemple suivant illustre une implémentation de la classe ExampleLocalSettings pour une application du Windows Store.


using System;
using Windows.Storage;
using ExamplePortableLibrary;

namespace App1
{
    class AppImplementation : ExampleLocalSettings
    {
        public override void SetLocalValue(string name, object value)
        {
            ApplicationData.Current.LocalSettings.Values[name] = value;
        }
    }
}


Dans l'application Silverlight et l'application du Windows Store, vous devez initialiser l'implémentation spécifique de la classe enfant et lui affecter la valeur de la propriété Instance. En général, vous créez cette instance au démarrage de l'application. L'exemple suivant indique comment initialiser l'implémentation Silverlight.

ExampleLocalSettings.Instance = new SilverlightImplementation();

L'exemple suivant indique comment initialiser l'implémentation de l'application du Windows Store.

ExampleLocalSettings.Instance = new AppImplementation();

Pour créer un projet Bibliothèque de classes portable, vous créez un nouveau projet dans Visual Studio 2012 et sélectionnez le modèle Bibliothèque de classes portable sous Visual C# ou Visual Basic.

Sélectionner un projet de bibliothèque portable

Par défaut, le projet Bibliothèque de classes portable cible les plateformes suivantes :

  • .NET Framework 4.5

  • Silverlight 4 et versions ultérieures

  • Windows Phone 7 et versions ultérieures

  • .NET pour les applications du Windows Store

Le projet référence seulement les assemblys pris en charge par ces plateformes. Pour modifier les plateformes cibles, dans l'Explorateur de solutions, affichez le menu contextuel du projet Bibliothèque de classes portable et choisissez Propriétés.

Dans la page des propriétés du projet, l'onglet Bibliothèque spécifie les plateformes actuellement ciblées.

Propriétés de projet

Pour ajouter ou supprimer des plateformes cibles, choisissez le bouton Modifier, puis activez les cases à cocher appropriées.

Modifier la cible

Lorsque vous modifiez les plateformes cibles, les assemblys disponibles dans le projet changeront pour correspondre à l'ensemble des assemblys pris en charge pour votre sélection. Si votre projet référence des assemblys qui ne sont pas pris en charge par une des plateformes sélectionnées, vous devez supprimer la référence à l'assembly ou modifier les plateformes cibles.

Après avoir généré votre projet Bibliothèque de classes portable, vous le référencez simplement à partir d'autres projets. Vous pouvez référencer le projet ou des assemblys spécifiques qui contiennent les classes auxquelles vous souhaitez accéder.

Pour exécuter une application qui référence un assembly Bibliothèque de classes portable, la version requise (ou version ultérieure) des plateformes ciblées doit être installée sur l'ordinateur. Visual Studio 2012 contient toutes les infrastructures requises pour que vous puissiez exécuter l'application sans modification supplémentaire sur l'ordinateur que vous avez utilisé pour développer l'application.

Gg597391.collapse_all(fr-fr,VS.110).gifDéploiement d'une application .NET Framework

Lorsque vous déployez une application .NET Framework qui référence un assembly Bibliothèque de classes portable, vous devez spécifier une dépendance sur la version appropriée du .NET Framework. En spécifiant cette dépendance, vous êtes assuré que la version requise est installée avec votre application. Si vous ciblez .NET Framework 4 ou version ultérieure, l'ordinateur doit disposer de .NET Framework 4 avec une mise à jour, Mise à jour 4.0.3 pour .NET Framework 4, ou de .NET Framework 4.5 installé.

  • Pour créer une dépendance avec un déploiement ClickOnce : dans l'Explorateur de solutions, choisissez le nœud du projet que vous souhaitez publier. (Il s'agit du projet qui référence le projet Bibliothèque de classes portable.) Dans la barre de menus, choisissez Projet, Propriétés, puis l'onglet Publier. Dans la page Publier, choisissezComposants requis. Sélectionnez la version requise du .NET Framework (ou la mise à jour pour .NET Framework 4) comme composant requis.

  • Pour créer une dépendance avec un projet d'installation : dans l'Explorateur de solutions, choisissez le projet d'installation. Dans la barre de menus, choisissez Projet, Propriétés, Composants requis. Sélectionnez la version requise du .NET Framework en tant que composant requis.

Pour plus d'informations sur le déploiement des applications .NET Framework, consultez Guide de déploiement du .NET Framework pour les développeurs.

Gg597391.collapse_all(fr-fr,VS.110).gifDéploiement d'une application Silverlight

Lorsque vous déployez une application Silverlight qui référence un assembly Bibliothèque de classes portable, vous devez vous assurer que la version minimale du runtime requise pour l'application corresponde à sa version ciblée. Si vous ciblez Silverlight 4, il convient d'utiliser la version 4.0.60129.0 ou une version ultérieure. Vous définissez la version en incluant <param name="minRuntimeVersion" value="4.0.60129.0" /> dans la page Web qui héberge l'application Silverlight, comme suit :

<div id="silverlightControlHost">
    <object data="data:application/x-silverlight-2," 
           type="application/x-silverlight-2" width="100%" height="100%">
    <param name="source" value="ClientBin/SilverlightApplication.xap"/>
    <param name="onError" value="onSilverlightError" />
    <param name="background" value="white" />
    <param name="minRuntimeVersion" value="4.0.60129.0" />
    <param name="autoUpgrade" value="true" />
    <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" 
             style="text-decoration:none">
      <img src=http://go.microsoft.com/fwlink/?LinkId=161376
             alt="Get Microsoft Silverlight" style="border-style:none"/>
    </a>
  </object>
   <iframe id="_sl_historyFrame" 
              style="visibility:hidden;height:0px;width:0px;border:0px">
   </iframe>
</div>

Gg597391.collapse_all(fr-fr,VS.110).gifDifférences d'API dans le Bibliothèque de classes portable

Pour rendre les assemblys Bibliothèque de classes portable compatibles sur toutes les plateformes prises en charge, certains membres ont été légèrement modifiés dans la Bibliothèque de classes portable. Pour plus d'informations sur les membres modifiés et comment ils l'ont été, consultez Differences API dans la bibliothèque de classes portable.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft