最近我得到了一台装有Windows 7的新电脑,并安装了C#2010 Express。我在C#2008 Express的Vista机器上写了很多软件。当我试图将托管的D3D应用程序迁移到2010年时,它们都在运行时崩溃并出现错误“不是有效的Win32应用程序”。并经过一些故障排除后,我知道这是因为MS不再支持托管DirectX。多么拖沓。所以它看起来像我将不得不重新编写一吨的代码使用下列选项之一:我应该如何将托管的DirectX程序迁移到Windows 7?
* XNA
*的Direct3D 10/11 API
* OpenGL的
(就像你在VC++使用) *一些其他选项,如可能SlimDX
我正在寻找一个解决方案是:
*向后兼容(即,Vista和XP)
*向前兼容(我不想学习新系统只需要放弃它并在一年中学习另一个)
* OO-f riendly - 我有成千上万行代码来重写。编写非托管代码时我没有问题,但类似的面向对象解决方案可能会缩短移植时间。
我不能成为第一个遇到这个问题的人。其他人找到的解决方案是什么?
我会建议OpenGL的便携性 – Alex