从XNA项目中引用C++/CLI程序集

3
最近我被分配将一个大型的C++代码库移植到XNA,具体来说是.Net v4客户端框架。我的希望是使用C++/CLI而不是将所有代码翻译成C#,但在可行性测试中,看起来你不能从XNA引用非XNA项目,并且没有办法创建一个C++/CLI XNA项目。
我已经设置了C++/CLI项目以针对客户端框架,但它仍然显示间接依赖于mscorlib(可能是非客户端版本,否则就不会出错)。我还尝试告诉它省略默认库,但没有效果。
这是使用Visual Studio 2010 Professional、XNA Game Studio 4在Windows 7 64位上运行时出现的错误。以防万一。
以下是错误信息:
主要参考“c:\...\WindowsPhoneGame2\Debug\cpptest.dll”无法解析,因为它具有对框架程序集“mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089”的间接依赖项,该程序集无法在当前目标框架中解决。“.NETFramework,Version = v4.0,Profile = Client”。要解决此问题,请删除参考“c:\...\WindowsPhoneGame2\Debug\cpptest.dll”,或将应用程序重新定向到包含“mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089”的框架版本。
总之,问题是:我可以从XNA项目中使用C++/CLI程序集吗?如何使用?

理论上这应该可以工作。我刚刚在C# Express 2008中尝试了一个XNA 3.1和非XNA项目之间的转换,它完美地工作了。你真的需要针对.NET 4.0吗?.NET 2.0很好并且广泛可用。您应该能够更改XNA和非XNA项目的目标配置文件。另外:如果您创建一个XNA和非XNA项目文件并进行比较,会怎样呢? - Andrew Russell
啊 - 我看到这是一个 手机 的 XNA 项目。这有点不同。 - Andrew Russell
1个回答

2

XNA Game Studio目前只支持C#语言。在Windows上,您可能可以使用C++/CLI,但由于该产品未经过其他语言的测试,因此可能会遇到意想不到的问题和问题。

您将无法在Windows Phone或Xbox上使用它。在Windows Phone或XBox中使用C++/CLI所需的一些必要支持程序集在使用的.NET CF版本中不可用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接