2011-01-11 6 views
1

Ich arbeite derzeit an einem Xbox360-Spiel. In diesem Spiel habe ich viele Daten in XML gespeichert. Die Deserialisierung durch IntermediateSerializer im XNA Game-Projekt ist kein Problem, wirkt wie ein Zauber. Aber da diese in XML gespeicherten Strukturen ziemlich kompliziert sein können, habe ich beschlossen, einen einfachen Editor für das Zeug zu erstellen, damit ich (oder ein weniger erfahrener Benutzer) die Objekte visuell bearbeiten kann (Animationen, Spieletappen usw.), anstatt diese schreiben zu müssen Daten als XML. Dann würde ich es über den IntermediateSerializer serialisieren und alles wäre in Ordnung.Problem mit der Verwendung von IntermediateSerializer außerhalb eines XNA-Projekts

Für diesen Editor ich ein WPF-Projekt erstellt und referenziert die Microsoft.Xna.Framework.Content.Pipeline.dll

Visual Studio erkennt die IntermediateSerializer Klasse und intellisense empfiehlt helfend die Microsoft.Xna.Framework zu verwenden .Content.Pipeline.Serialization.Intermediate-Namespace, aber ich bekomme immer die folgende Fehlermeldung:

Der Typ oder Namespace-Name 'Pipeline' ist nicht im Namespace 'Microsoft.Xna.Framework.Content' (fehlt Ihnen eine Assembly-Referenz?)

(Ich verwende XNA 4.0 und .NET 4)

Mache ich etwas falsch oder ist das einfach unmöglich?

Tenshiko

Antwort

1

In Ihrer Anwendungseigenschaft gewährleisten , dass der Zielrahmen zu .NET Framework 4 gesetzt.

Standardmäßig zielt eine neue WPF-Anwendung auf das .NET Framework 4-Clientprofil ab. Das Clientprofil wurde entwickelt, um die Downloadgröße von .NET Framework für Endbenutzer zu reduzieren, und schließt Assemblys aus, die nur in der Entwicklung verwendet werden. In Ihrem Fall hängt Microsoft.Xna.Framework.Content.Pipeline.dll von Microsoft.Build.Framework und Microsoft.Build.Utilities.v4.0 ab, die im Client-Profil nicht verfügbar sind.

+0

Das ist eine befriedigende Antwort, danke. Aber es gibt noch etwas, das ich nicht übersehen hätte: obwohl MSDN nur die Microsoft.Xna.Framework.Content.Pipeline.dll erwähnt, ist der Namespace auf einige andere Assemblys aufgeteilt, und ich musste sie auch verwenden! – Tenshiko

1

Es scheint mir, dass Sie ein Ziel Rahmen Ihrer WPF-Anwendung auf“.NET Framework 4" festgelegt haben. Es muss helfen.

+0

Ich habe auch ein "Xbox360 Library" -Projekt, das ich im WPF-Projekt verwende (und es funktioniert), also habe ich versucht, die ganze Serialisierungsmethode dort zu verschieben, aber ich habe das gleiche Problem dort auch. – Tenshiko

Verwandte Themen