<supportPortability>-Element
Gibt an, dass eine Anwendung in zwei verschiedenen Implementierungen von .NET Framework durch das Deaktivieren des Standardverhaltens, das die Assemblys zu Anwendungsportabilitätszwecken als gleich behandelt, auf die gleiche Assembly verweisen kann.
<configuration>
<runtime>
<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
attribute | BESCHREIBUNG |
---|---|
PKT | Erforderliches Attribut. Gibt das öffentliche Schlüsseltoken der betreffenden Assembly als Zeichenfolge an. |
enabled | Optionales Attribut. Gibt an, ob Unterstützung für Portabilität zwischen Implementierungen der angegebenen .NET Framework-Assembly aktiviert werden soll. |
Enabled-Attribut
Wert | BESCHREIBUNG |
---|---|
true | Aktivieren Sie die Unterstützung für Portabilität zwischen Implementierungen der angegebenen .NET Framework-Assembly. Dies ist die Standardeinstellung. |
false | Deaktivieren Sie die Unterstützung für Portabilität zwischen Implementierungen der angegebenen .NET Framework-Assembly. Dadurch kann die Anwendung Verweise auf mehrere Implementierungen besitzen. |
Untergeordnete Elemente
Keine
Übergeordnete Elemente
Element | BESCHREIBUNG |
---|---|
configuration |
Das Stammelement in jeder von den Common Language Runtime- und .NET Framework-Anwendungen verwendeten Konfigurationsdatei. |
runtime |
Enthält Informationen über die Assemblybindung und die Garbage Collection. |
assemblyBinding |
Enthält Informationen über die Assemblyversionsumleitung und die Speicherorte von Assemblys. |
Bemerkungen
Ab .NET Framework 4 werden Anwendungen, die beide Implementierungen von .NET Framework verwenden können, z. B. die .NET Framework-Implementierung oder die .NET Framework für Silverlight-Implementierung, automatisch unterstützt. Die zwei Implementierungen einer bestimmten .NET Framework-Assembly werden vom Assemblybinder als äquivalent betrachtet. In einigen Szenarien verursacht diese Anwendungsportabilitätsfunktion Probleme. In jenen Szenarien kann das <supportPortability>
-Element verwendet werden, um die Funktion zu deaktivieren.
Ein solches Szenario ist eine Assembly, die sowohl die .NET Framework-Implementierung als auch die .NET Framework for Silverlight-Implementierung einer bestimmten Verweisassembly mit Verweisen versehen muss. Ein in Windows Presentation Foundation (WPF) geschriebener XAML-Designer müsste möglicherweise sowohl auf die WPF-Desktopimplementierung, für die Benutzeroberfläche des Designers, als auch die Teilmenge von WPF, die in der Silverlight-Implementierung enthalten ist, verweisen. 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 eine erfolgreiche Kompilierung.
Wichtig
Damit der Compiler die Informationen an die Assemblybindungs-Logik der Common Language Runtime übergibt, müssen Sie den Speicherort der Datei „app.config“, die dieses Element enthält, mithilfe der /appconfig
-Compileroption angeben.
Beispiel
Das folgende Beispiel ermöglicht einer Anwendung, über Verweise sowohl auf die .NET Framework-Implementierung als auch die .NET Framework for Silverlight-Implementierung jeder die oft ausgegebene Befehlszeilen .NET Framework-Assembly, die in beiden Implementierungen vorhanden ist, zu verfügen. Mit der /appconfig
-Compileroption muss der Speicherort dieser app.config-Datei angegeben werden.
<configuration>
<runtime>
<assemblyBinding>
<supportPortability PKT="7cec85d7bea7798e" enable="false"/>
<supportPortability PKT="31bf3856ad364e35" enable="false"/>
</assemblyBinding>
</runtime>
</configuration>