Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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>