我最近的任务是将大型C ++代码代码库移植到XNA,特别是.Net v4 Client Profile。我希望使用C ++ / CLI而不是将所有代码转换为C#,但在我的可行性测试中,看起来你不能从XNA引用非XNA项目,并且没有办法创建C ++ / CLI XNA项目
我已将C ++ / CLI项目设置为以客户端配置文件为目标,但它仍然表示它对mscorlib具有间接依赖性(可能是非客户端版本,或者它不会是错误)。我也试过告诉它省略默认库,但没效果。
这是在Windows 7 64bit上运行的Visual Studio 2010 Professional,XNA Game Studio 4。以防万一。
这是错误:
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".
总而言之,问题是:我可以使用XNA项目中的C ++ / CLI程序集,以及如何使用?
答案 0 :(得分:2)
XNA Game Studio目前仅支持C#语言。您可以在Windows上使用C ++ / CLI,但是您可能遇到无法预料的问题和问题,因为该产品尚未使用任何其他语言进行测试。
您将无法将其用于Windows Phone或Xbox。 C ++ / CLI所需的某些必需支持程序集在Windows Phone或XBox中使用的.NET CF版本中不可用。