2

最近、Windows 7 を搭載した新しい PC を入手し、C# 2010 Express をインストールしました。Vista マシンで C# 2008 Express を使って書いたソフトウェアがたくさんあります。マネージド D3D アプリを 2010 に移行しようとしたところ、「有効な Win32 アプリケーションではありません」というエラーが表示され、実行時にすべてがクラッシュしました。いくつかのトラブルシューティングの後、MS がマネージド DirectX をサポートしなくなったためだとわかりました。なんという引きずり。したがって、次の代替手段のいずれかを使用するには、大量のコードを書き直す必要があるようです。

*XNA
*Direct3D 10/11 API (VC++ で使用するものと同様)
*OpenGL
*SlimDX などの他のオプション

次のようなソリューションを探しています:
* 下位互換性 (つまり、Vista および XP)
* 上位互換性 (単に新しいシステムを落として、1 年で別のシステムを習得しなければならないという理由だけで新しいシステムを習得したくありません)
* OO フレンドリー -- 何千行ものコードを書き直す必要があります。アンマネージ コードの作成に問題はありませんが、同様の OO ソリューションを使用すると、移植時間が短縮される可能性があります。

私がこの問題に遭遇した最初の人になることはできません。他の人が見つけた解決策は何ですか?

4

1 に答える 1

1

私の推測では、アプリケーションは x86 アセンブリを参照する AnyCPU としてビルドされていますが、Win7 マシンは x64 です。アプリケーションを x86 としてビルドすると、問題が解決する場合があります。

于 2012-05-10T12:53:31.137 に答える