3 Stimmen

Verweis auf eine C++/CLI-Assembly aus einem XNA-Projekt

Ich habe vor kurzem mit der Portierung einer großen Codebasis von C++-Code auf XNA, insbesondere .Net v4 Client Profile beauftragt. Meine Hoffnung war es, C++/CLI zu verwenden, anstatt den gesamten Code in C# zu übersetzen, aber in meinen Machbarkeitstests sieht es so aus, als ob man von XNA aus nicht-XNA-Projekte referenzieren kann und es gibt keine Möglichkeit, ein C++/CLI-XNA-Projekt zu erstellen.

Ich habe das C++/CLI-Projekt so eingestellt, dass es auf das Client-Profil abzielt, aber es sagt immer noch, dass es eine indirekte Abhängigkeit von mscorlib hat (vermutlich die Nicht-Client-Version, sonst würde es kein Fehler sein). Ich habe auch versucht, ihm zu sagen, dass es die Standardbibliotheken weglassen soll, aber ohne Erfolg.

Dies ist mit Visual Studio 2010 Professional, XNA Game Studio 4, läuft auf Windows 7 64bit. Nur für den Fall.

Hier ist der Fehler:

The primary reference "c:\...\WindowsPhoneGame2\Debug\cpptest.dll" could not be resolved because it has an indirect dependency on the framework assembly "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.0,Profile=Client". To resolve this problem, either remove the reference "c:\...\WindowsPhoneGame2\Debug\cpptest.dll" or retarget your application to a framework version which contains "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".

Zusammengefasst lautet die Frage: Kann ich eine C++/CLI-Assembly aus einem XNA-Projekt verwenden, und wie?

2voto

Empyrean Punkte 1823

XNA Game Studio unterstützt zur Zeit nur die Sprache C#. Sie können wahrscheinlich C++/CLI unter Windows verwenden, aber Sie könnten auf unvorhergesehene Probleme und Fragen stoßen, da das Produkt nicht mit anderen Sprachen getestet wurde.

Sie können es nicht für Windows Phone oder Xbox verwenden. Einige der für C++/CLI erforderlichen Support-Assemblies sind in der in Windows Phone oder auf der XBox verwendeten Version des .NET CF nicht verfügbar.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X