3

これは長い話です。私は最近、DirectX を使用する Visual Studio で win32 アプリケーションを構築し、それを他のマシンで動作することを確認するために何人かの友人に送りました。全員に .NET がインストールされていましたが、このアプリはすべての友人で機能するわけではありませんでした。

2 つのケースでは、プログラムを実行しようとしたときに、「ファイルまたはアセンブリ Microsoft.DirectX.DirectInput バージョン 1.0.29 を読み込めませんでした...」というエラーが発生しました。

他のバージョンの .dll が必要であると判断し、確認したところ、修正されたバージョンを参照していることがわかりました。「修正バージョン」プロパティをすべての directX dll に対して false に変更しましたが、アプリケーションを実行しようとするとエラーが発生しました。

最後に、アプリと同じフォルダー内のすべてのdllをコピーしようとしましたが、directxエラーはなくなりましたが、代わりに、プログラムが試行した行で「System.IO.FileNotFoundException指定されたモジュールが見つかりませんでした」というエラーが発生しました画像から Direct3D.Texture を作成します (画像へのリンクは正しかった)。

上記の問題のいずれかを修正するためのヒントを教えていただければ幸いです。

4

3 に答える 3

2

Managed DirectXを使用しているようですが、友人の中にはおそらくインストールされていない人もいます。私の知る限り、MDXの再配布可能なパッケージはもう利用できません。(とにかくMicrosoftからではなく、どこかで見つけることができるかもしれません)

Managed DirectXは基本的に廃止されており、多くの場合XNAの方が適していることに注意してください。

于 2010-06-25T20:34:52.503 に答える
1

ManagedDirectX を使用している場合は、この問題をすばやく修正する方法があります。これは、ManagedDirectX dll を同じディレクトリにコピーするだけです。MSは、それは機能しないと言い、本番環境にはあまり適していません。しかし、ほとんどの場合はうまくいきます。

DLL は少なくとも次のとおりです。

Microsoft.DirectX.Direct3D.dll
Microsoft.DirectX.Direct3DX.dll
Microsoft.DirectX.dll
于 2010-06-25T21:11:46.410 に答える