0

アレイ マイクを使用して音声認識を実装する Kinect DSS の例によって生成されるイベントをサブスクライブする、非常に単純な Microsoft DSS プログラムを作成しようとしています。ただし、実行時に以下のエラーが表示されます。

インターフェイスを公開するプロキシ .dll を参照しましたが、実行時に問題が発生します。

ビルド ターゲット プラットフォームを x86 に設定しようとしましたが、問題は解決していないようです。プロジェクトが x86 をターゲットとしてビルドされていることを確認する方法はありますか?

カスタム シリアル化で型を登録できませんでした。: System.BadImageFormatException:
ファイルまたはアセンブリ 'file:///c:\users\ajs\microsoft robots dev studio 4\bin\micarrayspeechrecognizer.y2011.m06.dll' またはその依存関係の 1 つを読み込めませんでした。不正な形式のプログラムをロードしようとしました。ファイル名: System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef、Evidence assemblySecurity、RuntimeAssembly reqAssembly、StackCrawlMark& stackMark、Serializer.DataCache.RegisterCustomSerializersFromServiceAssembly(As sembly pa, AssemblyLocations locations) === バインド前の状態情報 === ログ: ユーザー = condor\ajs ログ: Where-ref バインド。場所 = c:\users\ajs\microsoft robotics dev studio 4\bin\micarrayspeechrecognizer.y2011.m06.dll ログ: Appbase = file:///C:/Users/ajs/Microsoft Robotics Dev Studio 4/bin/ ログ: Initial PrivatePath = NULL アセンブリの呼び出し: (不明)。=== ログ: このバインドは LoadFrom ロード コンテキストで開始されます。WRN: ネイティブ イメージは LoadFrom コンテキストではプローブされません。ネイティブ イメージは、Assembly.Load() のように、既定の読み込みコンテキストでのみプローブされます。ログ: アプリケーション構成ファイルの使用: C:\Users\ajs\Microsoft Robotics Dev Studio 4\bin\DssHost.exe.Config ログ: ホスト構成ファイルの使用: ログ: C:\Windows\Microsoft のマシン構成ファイルの使用。NET\Framework64\v4.0.30319\config\machine.config. ログ: 新しい URL ファイルのダウンロードを試みています:///c:/users/ajs/microsoft robots dev studio 4/bin/micarrayspeechrecognizer.y2011.m06.dll。ERR: アセンブリのセットアップを完了できませんでした (hr = 0x8007000b)。プローブが終了しました。

4

1 に答える 1

0

DSS ノードのテンプレート Visual Studio .sln によって実行されるデフォルトのビルド後の dssproxy ではなく、dsshost32 を使用してプログラムを開始する必要があることがわかりました。これにより、DSS ノードが 32 ビット CLR で実行され、Kinect ライブラリが正常に動作します。

次に、dsshost32 の使用時に Visual Studio からコードの変更を表示するには、一連の面倒な操作が必要なようです。

  1. ログに「DSS ホスト キャッシュが更新されました」と表示されるまで、64 ビット プロジェクトをビルドして実行します。これには、私のマシンでは約 10 秒かかります。
  2. コマンド ラインで手動で dsshost32 を使用して DSS ノードを実行します。
于 2012-11-18T17:13:05.643 に答える