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?