1

私はVS2010を使用しており、このプロジェクトで作業しています。

http://www.codeproject.com/KB/audio-video/Asio_Net.aspx

最初に、デモバイナリをダウンロードしましたが、マシンでクラッシュしました。コメントのいくつかを読んだ後、ソースをダウンロードしてビルドし(ASIO SDKを入手した後)、それがあなたのマシンで動作するはずだと言われました。これは正しいです。VSでビルドした後、そのマシンで動作します。

再構築された.exeと.dllを別のマシンに移動すると、最初にダウンロードしたデモバイナリと同じエラーでクラッシュします。だから私はこれを引き起こす原因がわかりません。このC++バイナリをどのマシンでも機能させるにはどうすればよいですか?

私はC#開発者であり、ほとんどのコードはC ++であるため、少し途方に暮れています。

ところで、ここにエラーメッセージがあります:

"未処理の例外:System.IO.FileNotFoundException:ファイルまたはアセンブリ'Bluewave.Interop.Asio.dll'またはその依存関係の1つを読み込めませんでした。指定されたモジュールが見つかりませんでした。BlueWave.Interop.Asio.Test.TestConsoleで.Main(String [] args) "

編集:ここで見つかった回答:http: //msdn.microsoft.com/en-us/library/8kche8ah (v = VS.100).aspx

依存関係ウォーカーを使用して、欠落している.dllを見つけます。

4

2 に答える 2

4

あなたがこのdllを含めたことを意味すると仮定するとBluewave.Interop.Asio.dll、私が考えることができる説明は2、3しかありません:

  1. その依存関係の1つがマシンから欠落しています。Dependency Walkerのようなものを使用して、不足しているものを見つけることができます。
  2. dllは、exeが表示できる場所にありません(可能性は低いですが、わかりません)。

欠落しているdllは、VC ++ランタイムの一部である可能性があり、必ずしもAsioの一部であるとは限りません。

ビルドしたマシンの出力フォルダーには他に何がありますか?

于 2011-09-19T13:25:44.517 に答える
1

そのデモプロジェクトをCodeProjectからダウンロードしましたが、問題の原因として最も可能性が高いのは、Visual Studio C++2008のランタイム依存関係が欠落していることだと思います。ランタイム再配布可能パッケージをマシンにインストールして、これを解決します。

注:Dependency Walkerを使用して、このDLLの依存関係を確認しました。これをプロファイリングモードで実行することもできるので、実行時にどの依存関係が問題を引き起こしているのかを正確に知ることができます。

于 2011-09-19T13:48:06.643 に答える