Bester Weg, um Code zwischen WPF und Silverlight zu teilen
-
30-09-2019 - |
Frage
Ich habe eine Lösung, die sowohl ein Silverlight 4 als auch eine WPF 4 -Lösung enthält. Eine davon ist die Webversion der App und eine ist die Desktop -Version.
Beide Projekte verfügen über ähnliche Domänenklassen und Schnittstellen sowie sowohl auf die Cloud als auch andere Dinge zugreifen.
Ich wollte ein gemeinsames Interfaces- und Klassenprojekt erstellen, also habe ich eine Klassenbibliothek erstellt, aber würden Sie es nicht wissen, Silverlight kann keine Verweise auf eine Klassenbibliothek hinzufügen. Also habe ich das gemeinsame Projekt als Silverlight Class -Bibliothek erstellt, aber wenn ich mich darauf beziehe, dass ich aus dem WPF -Projekt Warnungen erhalte:
Warning The project 'Interface.Common.Silverlight' cannot be referenced. The referenced project is targeted to a different framework family (Silverlight)
Und ich erhalte sogar Klassenlade -Laufzeitfehler, wenn ich eine Klasse aus dieser Bibliothek verwende, da "System.Windows nicht zur Laufzeit gefunden werden kann".
Ich möchte Code zwischen den beiden Projekten teilen, wie kann dies auf saubere Weise erreicht werden?
Vielen Dank für jede Hilfe, die Sie geben können
Lösung
Erstellen Sie zwei parallele Projekte für WPF und eine für SilverLigth. Fügen Sie für eines der Projekte die Dateien als Links anstelle von Dateien hinzu.
Ich habe das erfolgreich für die getan Microsoft Silverlight Analytics Framework Mit einer Codebasis für Silverlight 4, WPF und Windows Phone 7.
Andere Tipps
Was ist mit XAML -Sharing -Code mit Silverlight und WPF?
Ein ... kreieren "tragbar"Projekt. Auf das kann sowohl aus WPF als auch von Silverlight verwiesen werden