Freigeben über


<supportPortability> Element

Gibt an, dass eine Anwendung in zwei verschiedenen Implementierungen von .NET Framework auf dieselbe Assembly verweisen kann, indem sie das Standardverhalten deaktivieren, das die Assemblys als gleichwertig für Anwendungsübertragbarkeitszwecke behandelt.

<Konfiguration>
   <Laufzeit>
     <assemblyBinding>
       <supportPortability>

Syntax

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

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

Merkmal Description
PKT Erforderliches Attribut.

Gibt das öffentliche Schlüsseltoken der betroffenen Assembly als Zeichenfolge an.
enabled Optionales Attribut.

Gibt an, ob die Unterstützung für die Portabilität zwischen Implementierungen der angegebenen .NET Framework-Assembly aktiviert werden soll.

Enabled-Attribut

Wert Description
Wahr Aktivieren Sie die Unterstützung der Portabilität zwischen Implementierungen der angegebenen .NET Framework-Assembly. Dies ist die Standardeinstellung.
Falsch Deaktivieren Sie die Unterstützung für die Portabilität zwischen Implementierungen der angegebenen .NET Framework-Assembly. Dadurch kann die Anwendung Verweise auf mehrere Implementierungen der angegebenen Assembly haben.

Untergeordnete Elemente

Keiner.

Übergeordnete Elemente

Element Description
configuration Das Stammelement in jeder von den Common Language Runtime- und .NET Framework-Anwendungen verwendeten Konfigurationsdatei.
runtime Enthält Informationen zur Assemblybindung und Garbage Collection.
assemblyBinding Enthält Informationen zur Assemblyversionsumleitung und zu den Speicherorten von Assemblys.

Bemerkungen

Ab .NET Framework 4 wird automatisch Unterstützung für Anwendungen bereitgestellt, die eine von zwei Implementierungen von .NET Framework verwenden können, z. B. die .NET Framework-Implementierung oder .NET Framework für Silverlight-Implementierung. Die beiden Implementierungen einer bestimmten .NET Framework-Assembly werden durch den Assemblyordner als gleichwertig angesehen. In einigen Szenarien verursacht dieses Anwendungsportabilitätsfeature Probleme. In diesen Szenarien kann das <supportPortability> Element verwendet werden, um das Feature zu deaktivieren.

Ein solches Szenario ist eine Assembly, die sowohl auf die .NET Framework-Implementierung als auch auf die .NET Framework für Silverlight-Implementierung einer bestimmten Referenzassembly verweisen muss. Beispielsweise muss ein XAML-Designer, der in Windows Presentation Foundation (WPF) geschrieben wurde, sowohl auf die WPF-Desktopimplementierung als auch auf die Benutzeroberfläche des Designers und die Teilmenge von WPF verweisen, die in der Silverlight-Implementierung enthalten ist. Standardmäßig verursachen die separaten Verweise einen Compilerfehler, da die Assemblybindung die zwei Assemblys als Entsprechung ansieht. Dieses Element deaktiviert das Standardverhalten und ermöglicht die Erfolgreiche Kompilierung.

Von Bedeutung

Damit der Compiler die Informationen an die Assemblybindungslogik der Common Language Runtime weitergibt, müssen Sie die /appconfig Compileroption verwenden, um den Speicherort der app.config Datei anzugeben, die dieses Element enthält.

Example

Im folgenden Beispiel kann eine Anwendung verweise sowohl auf die .NET Framework-Implementierung als auch auf die .NET Framework für Silverlight-Implementierung jeder .NET Framework-Assembly haben, die in beiden Implementierungen vorhanden ist. Die /appconfig Compileroption muss verwendet werden, um den Speicherort dieser app.config Datei anzugeben.

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

Siehe auch