Binärkompatibilität mit dem vollständigen .NET Framework
Aktualisiert: November 2007
.NET Compact Framework ist die Implementierung einer kompatiblen Teilmenge des vollständigen .NET Framework und der Common Language Runtime.
Wenn keine Richtlinien für die Bindung an starke Namen vorhanden sind, lässt sich eine in .NET Compact Framework kompilierte Anwendung an das vollständige .NET Framework binden und in diesem ausführen. Beachten Sie hierbei Folgendes:
Die .NET Compact Framework-Assemblys sind mit anderen Schlüsselpaaren mit starken Namen signiert, sodass die Common Language Runtime sie von ihren Entsprechungen im vollständigen .NET Framework unterscheiden kann.
.NET Framework stellt Bindungsrichtlinien zum Ersetzen von kompatiblen .NET Compact Framework-Verweisen durch vollständige .NET Framework-Assemblys bereit. Dadurch können vorhandene Komponenten in vielen Fällen wiederverwendet werden, ohne neue Instanzen des Objekts zu erstellen. Wenn Ihre Komponente beispielsweise nur auf .NET Compact FrameworkSystem-Klassen von .NET Compact Framework verweist, ist sie mit beiden Framework-Versionen kompatibel.
Das vollständige .NET Framework unterstützt keine Klassen und Typen, die nur von .NET Compact Framework unterstützt werden. Diese sind unter Unterstützte Klassen in .NET Compact Framework aufgeführt.
Für Anwendungen mit vielen Clients sollte die gerätespezifische Funktionalität zur Verbesserung der Benutzerfreundlichkeit auf die gleiche Weise genutzt werden, in der plattformübergreifende Binärkompatibilität die Entwicklung und Bereitstellung von Middleware-Komponenten vereinfacht. Dies bedeutet, dass zielgerichteter Code für grafische Benutzeroberflächen vermutlich die beste Lösung ist.
Obwohl .NET Compact Framework die gerätespezifische Funktionalität in Namespaces und Assemblys unterteilt, um Bindungskonflikte zu vermeiden, könnte diese Unterteilung in einigen Fällen nicht kompatibel sein. In diesen Fällen führt die unbeabsichtigte Verwendung der gerätespezifischen Funktionalität in Zusammenhang mit dem vollständigen .NET Framework zu einer Laufzeitausnahme anstatt zu einer Ausnahme beim Laden der Anwendung.