2010-08-17 3 views
3

J'ai récemment été chargé de porter une grande base de code de code C++ vers XNA, en particulier le profil client .Net v4. Mon espoir était d'utiliser C++/CLI plutôt que de traduire tout le code en C#, mais dans mes tests de faisabilité, il semble que vous ne puissiez pas référencer des projets XNA depuis XNA, et il n'y a aucun moyen de créer un projet C++/CLI XNA .Référencement d'un assemblage C++/CLI à partir d'un projet XNA

J'ai défini le projet C++/CLI pour cibler le profil client, mais il dit toujours qu'il a une dépendance indirecte sur mscorlib (vraisemblablement la version non-client, ou ce ne serait pas une erreur). J'ai également essayé de lui dire d'omettre les bibliothèques par défaut, sans effet.

Ceci est avec Visual Studio 2010 Professionnel, XNA Game Studio 4, fonctionnant sous Windows 7 64 bits. Au cas où.

est ici l'erreur:

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".

Pour résumer, la question est: Puis-je utiliser un ensemble de C++/CLI à partir d'un projet XNA, et comment?

+0

En théorie, cela devrait fonctionner. Je l'ai juste essayé sur C# Express 2008 entre un projet XNA 3.1 et non-XNA, et ça a très bien fonctionné. Avez-vous vraiment besoin de cibler .NET 4.0? .NET 2.0 est bon et largement disponible. Vous devriez être capable de changer le profil cible pour les projets XNA et non-XNA. Aussi: que faire si vous créez un fichier de projet XNA et non-XNA et les diff? –

+0

Ah - Je vois que c'est un projet * téléphone * XNA. C'est un peu différent. –

Répondre

2

XNA Game Studio prend uniquement en charge le langage C# pour le moment. Vous pouvez probablement utiliser C++/CLI sous Windows, mais vous risquez de rencontrer des problèmes et des problèmes imprévus, car le produit n'a pas été testé avec d'autres langages.

Vous ne pourrez pas l'utiliser pour Windows Phone ou Xbox. Certains des assemblys de support requis pour C++/CLI ne sont pas disponibles dans la version de .NET CF utilisée dans Windows Phone ou sur la XBox.

Questions connexes