2009-05-07 6 views
3

Ich habe eine Bibliothek mit benutzerdefinierter Domänenlogik. Einige der Sachen sind schwer schlagend und hängen von der Kernlaufzeit außerhalb der Silverlight-Laufzeit ab.Verwendung der gleichen Bibliothek für Silverlight und CLR

Ist es möglich, den gleichen Code für 2 verschiedene Laufzeiten zu kompilieren und verschiedene Geschmacksrichtungen von verschiedenen Verbrauchern zu referenzieren? Wie

Antwort

3

Es gibt mehrere Möglichkeiten, um das zu erreichen, was Sie wollen.

  1. Sie können nicht voll Framework-Assembly in Silverlight-Referenz, aber man kann es umgekehrt machen, so können Sie gegen SL-Code und Referenz dann SL Projekte in Projekten gegen volle .Net zusammengestellt.

  2. Sie Dateien aus anderen Projekten hinzufügen können als Links Quellcode statt Referenzierung Baugruppen

  3. Noch besser zu teilen, Sie Prism v2 und Projekt Linkers Addin, die mit ihm nutzen kann kommt Visual Studio Verwalten von Dateien zu lassen Verknüpfung zwischen Projekten. Sie können mehr über Multi-Plattform lesen here

+2

Alter, es ist nicht cool, Ihre Website und verlinkte Referenz auf jeden einzelnen Beitrag zu setzen. – mattmanser

0

Fügen Sie Ihrer Lösung zwei Klassenbibliotheksprojekte (SLLib, CLRLib) hinzu. Fügen Sie dann alle Ihre .cs-Dateien zu beiden Lösungen hinzu.

+0

Dateien als Link hinzufügen? –

2

Eine einfache, hohe Antwort Targeting ist, dass Sie Ihren gemeinsamen Code in einer Baugruppe setzen, die sowohl CLR und Silverlight-Referenzanordnungen. Alles, was für eine Plattform spezifisch ist, muss aus dem gemeinsamen Code herausgelöst und in den CLR- und Silverlight-Projekten implementiert werden.

Siehe die Wunder der Vererbung und Polymorphismus;)

[Auf einer seitlichen Anmerkung: Wenn Sie sich Copy- Einfügen von Code (entweder Schnipsel oder ganze cs-Dateien) finden, sind Sie etwas sehr falsch zu machen]

1

Haben Sie darüber nachgedacht, Workflow Foundation für Ihre Aufgabe zu verwenden?

P.S. Die Frage ist sehr breit. Können Sie uns ein Muster liefern, damit wir etwas haben, mit dem wir arbeiten können?

+0

Wie wird WF uns helfen? –

+0

Es tut mir leid. Schlechte Antwort von meiner Seite. – GregC