Frage

Ich habe eine WPF .NET 4.0 -Klassenbibliothek, in der eine Silverlight 4 -Klassenbibliothek verweist.

Die SL -Bibliothek kompiliert gut, aber wenn ich die WPF -Klassenbibliothek zusammenstelle, bekomme ich:

Error   2   Unknown build error, 'Cannot resolve dependency to assembly 'System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on demand through the ReflectionOnlyAssemblyResolve event.'    MyProj.Presentation.Wpf

Ich denke, das Problem muss dem hier erwähnt sein:http://markti.spaces.live.com/blog/cns!d92cf278f0f91957!273.entry

Meine WPF -Bibliothek enthält jedoch kein XAML, das auf eine Benutzerkontrolle aus meiner SL -Bibliothek verweist. Tatsächlich enthält meine SL -Bibliothek überhaupt kein XAML. Es verfügt jedoch über mehrere gemeinsam genutzte Abhängigkeiten, wie z.

Gibt es eine Möglichkeit, das Problem hier eingrenzen zu können? Und hat jemand einen Weg gefunden, in einem SL4 -Projekt von .NET 4.0 effektiv auf UI -Elemente zu referenzieren?

Vielen Dank.

War es hilfreich?

Lösung

Dies

Kennt jemand eine Möglichkeit, auf eine SL4 -Montage mit System zu verweisen.

ist momentan nicht möglich. Die Referenzierung von SL -Baugruppen in .NET -Projekten funktioniert nur, wenn das SL -Projekt keine anderen Baugruppen als verweist als mscorlib, system, system.core, system.componentmodel.comPosition und Microsoft.visualBasic. Das Hinzufügen eines WPF -Projekts und die Verknüpfung Ihrer SL -Dateien mit diesem Projekt ist die einzige Möglichkeit, Ihren SL -Code wiederzuverwenden, wenn es EG System.Windows verwendet.

Prost, Alex

Andere Tipps

Ich bin vielleicht zu spät, aber das wurde noch nicht beantwortet.

Es gibt ein Plugin für Visualstudio 2010, mit dem Sie Baugruppen erstellen können, auf die in .NET, Silverlight, Windows Phone und XNA auf Xbox verwiesen werden kann. Es heißt Portablelibrary.

http://blogs.msdn.com/b/bclteam/archive/2011/01/19/announcing-portable-library-tools-ctp-justin-van-patten.aspx

Fand es! Ich hatte einige XMLNS -Namespaces in meiner SL4 -Klassenbibliothek wie folgt:

using System.Windows.Markup;

[assembly: XmlnsDefinition("http://MyProj/Presentation", "MyProj.Presentation")]
[assembly: XmlnsDefinition("http://MyProj/Presentation", "MyProj.Presentation.Controls")]

und das verhinderte die WPF -Baugruppe daran, sie zu verweisen und den oben genannten Fehler zu erzeugen. Ich habe gerade die Namespace -Deklarationen in das WPF -Projekt verschoben, um ...

Bearbeiten

OK, das hat das Problem behoben ... aber weiß jemand eine Möglichkeit, auf eine SL4 -Montage mit System zu verweisen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top