2016-10-03 17 views
1

次のproject.jsonファイルをAzure関数に追加しました。私はちょうどDataClientのインスタンスを作成しようとしています、この時点でプロジェクトOxford&Speech Recognition - "このアセンブリは別のプロセッサ用にコンパイルされました"

using System.Net; 
using Microsoft.CognitiveServices.SpeechRecognition; 

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log) { 
log.Info($"C# HTTP trigger function processed a request."); 

     var dataClient = SpeechRecognitionServiceFactory.CreateDataClient(
        SpeechRecognitionMode.LongDictation, 
        "en-US", 
        "my sub key"); 

     var resp = new HttpResponseMessage(HttpStatusCode.OK); 
     return resp; 
} 

{ 
    "frameworks": { 
    "net46":{ 
     "dependencies": { 
     "Microsoft.ProjectOxford.SpeechRecognition-x86": "1.0.0.1" 
     } 
    } 
    } 
} 

私は、単純なHTTPトリガーを使用し、機能に次のコードを持っています。関数は正常にコンパイルされますが、実行されるとこのエラーがスローされます。

Functions.ProcessReportAudio。 mscorlib:呼び出しのターゲットによって例外がスローされました。 mscorlib:ファイルまたはアセンブリ 'SpeechClient、Version = 0.0.0.0、Culture = neutral、PublicKeyToken = null'を読み込めませんでした。このアセンブリは別のプロセッサ用にコンパイルされました。

nugetパッケージのx86とx64バージョンの両方を試してみて、同じエラーが発生しました。

究極的には、私はAzure Storageにアップロードされた音声WAVファイルを処理して口述を取得しますが、現在は水中で死んでいます。

答えて

1

Jeff、 私はあなたがx64で始まっていると仮定しています(デフォルトのFunction App構成はx86なので)。

アーキテクチャを変更した後、機能アプリケーションを再起動しましたか?

初期バインディングの失敗として試行がキャッシュされる可能性があり、アセンブリの名前が同じであるため、変更後に参照がロードされない可能性がありますか?

関連する問題