最近我买了一台装有 Windows 7 的新电脑并安装了 C# 2010 Express。我在我的 Vista 机器上用 C# 2008 Express 编写了很多软件。当我尝试将托管 D3D 应用程序迁移到 2010 时,它们都在运行时崩溃,并出现错误“不是有效的 Win32 应用程序”。经过一些故障排除后,我了解到这是因为 MS 不再支持托管 DirectX。多么拖沓。所以看起来我必须重写大量代码才能使用以下替代方法之一:
*XNA
*Direct3D 10/11 API(就像你在 VC++ 中使用的那样)
*OpenGL
*其他一些选项,比如 SlimDX
我正在寻找一种解决方案:
*向后兼容(即,Vista 和 XP)
*向前兼容(我不想学习一个新系统就不得不放弃它并在一年内学习另一个)
* OO 友好——我有数千行代码要重写。我编写非托管代码没有问题,但类似的 OO 解决方案可能会减少移植时间。
我不能成为第一个遇到这个问题的人。其他人找到了哪些解决方案?