Partage via


<supportPortability>, élément

Spécifie qu’une application peut référencer le même assembly dans deux implémentations différentes du .NET Framework, en désactivant le comportement par défaut qui traite les assemblys de façon équivalente à des fins de portabilité des applications.

<configuration>
  <runtime>
    <assemblyBinding>
      <supportPortability>

Syntaxe

<supportPortability PKT="public_key_token" enabled="true|false"/>  

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description
PKT Attribut requis.

Spécifie le jeton de clé publique de l’assembly concerné, sous forme de chaîne.
enabled Attribut facultatif.

Spécifie si la prise en charge de la portabilité entre les implémentations de l’assembly .NET Framework spécifié doit être activée.

Attribut enabled

Valeur Description
true Activez la prise en charge de la portabilité entre les implémentations de l’assembly .NET Framework spécifié. Il s’agit de la valeur par défaut.
false Désactivez la prise en charge de la portabilité entre les implémentations de l’assembly .NET Framework spécifié. Cela permet à l’application d’avoir des références à plusieurs implémentations de l’assembly spécifié.

Éléments enfants

Aucune.

Éléments parents

Élément Description
configuration Élément racine de chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.
runtime Contient des informations sur les liaisons d’assembly et l’opération garbage collection.
assemblyBinding Contient des informations à propos de la redirection des versions d'assemblys et de l'emplacement de ces derniers.

Notes

À compter de .NET Framework 4, la prise en charge est automatiquement fournie pour les applications qui peuvent utiliser l’une des deux implémentations de .NET Framework, par exemple, l’implémentation de .NET Framework ou l’implémentation de .NET Framework pour Silverlight. Le Binder d’assembly considère que les deux implémentations d’un assembly .NET Framework particulier sont équivalentes. Dans quelques scénarios, cette fonctionnalité de portabilité d’application génère des problèmes. Dans ces scénarios, l’élément <supportPortability> peut être utilisé pour désactiver la fonctionnalité.

Un tel scénario se présente quand un assembly doit référencer à la fois l’implémentation .NET Framework et l’implémentation .NET Framework pour Silverlight d’un assembly de référence particulier. Par exemple, un concepteur XAML écrit dans WPF (Windows Presentation Foundation) pourrait devoir référencer à la fois l’implémentation bureau de WPF pour l’interface utilisateur du concepteur, et le sous-ensemble de WPF inclus dans l’implémentation Silverlight. Par défaut, les références séparées provoquent une erreur du compilateur parce que la liaison d’assembly considère les deux assemblys comme équivalents. Cet élément désactive le comportement par défaut et permet la réussite de la compilation.

Important

Pour que le compilateur passe les informations à la logique de liaison d’assembly du Common Language Runtime, vous devez utiliser l’option de compilateur /appconfig pour spécifier l’emplacement du fichier app.config contenant cet élément.

Exemple

L’exemple suivant permet à une application d’avoir des références à la fois à l’implémentation .NET Framework et à l’implémentation .NET Framework pour Silverlight de tout assembly .NET Framework existant dans les deux implémentations. L’option de compilateur /appconfig doit être utilisée pour spécifier l’emplacement de ce fichier app.config.

<configuration>  
   <runtime>  
      <assemblyBinding>  
         <supportPortability PKT="7cec85d7bea7798e" enable="false"/>  
         <supportPortability PKT="31bf3856ad364e35" enable="false"/>  
      </assemblyBinding>  
   </runtime>  
</configuration>  

Voir aussi