我应该如何将我的托管 DirectX 程序迁移到 Windows 7

本文关键字:迁移 程序 Windows DirectX 我的 我应该 | 更新日期: 2023-09-27 18:33:47

最近我买了一台装有Windows 7的新PC,并安装了C# 2010 Express。 我有很多在 Vista 机器上用 C# 2008 Express 编写的软件。 当我尝试将托管 D3D 应用程序迁移到 2010 时,它们都在运行时崩溃,并显示错误"不是有效的 Win32 应用程序",经过一些故障排除,我了解到这是因为 MS 不再支持托管 DirectX。 真是拖累。 因此,看起来我必须重写大量代码才能使用以下替代方法之一:

*新纳
*Direct3D 10/11 API(就像你在VC++中使用的一样(
*开放GL
*其他一些选项,例如SlimDX

我正在寻找一个解决方案,即:
*向后兼容(即Vista和XP(
*向前兼容(我不想学习一个新系统,只是为了不得不放弃它并在一年内学习另一个系统(
*OO友好 - 我有数千行代码要重写。 我在编写非托管代码时没有问题,但类似的 OO 解决方案可能会减少移植时间。

我不能是第一个遇到这个问题的人。 其他人找到了哪些解决方案?

我应该如何将我的托管 DirectX 程序迁移到 Windows 7

我的猜测是,您的应用程序是作为 AnyCPU 构建的,引用 x86 程序集,但您的 Win7 机器是 x64。将应用程序构建为 x86 可能会解决此问题。