IronOCRを使ったローカルマシン上でのAzure Functionsのデバッグ
ローカルでAzureを実行する際の問題
この問題に遭遇したときによく見られる例外は以下の通りである:
- Tesseract for IronOCRのデプロイ時のエラーについて
- libtesseract-5' が見つかりません。
- libtesseract-5' が見つからない。
- テッセラクト-5が見つからない
- Error while locating deployment configuration file at ㊦binruntimes㊦win-x64㊦native㊦IronOCR.Native.deployment.json
- IronOCR:'EnglishBest'の.traineddataファイルが見つからない。
ローカルで Azure Functions を実行する際の依存関係の問題
ローカルでAzureを実行する場合、Azuriteを使用する(VS2022)またはAzure Storage Emulator(VS2019)、ストレージエミュレーターがデプロイに使用する追加のbinディレクトリが作成されます。 このディレクトリにはDLLファイルのみがコピーされるため、追加ファイルを必要とするソフトウェアは機能せず、上記の例外が発生する可能性があります。
この問題を解決するには、ランタイムディレクトリをストレージエミュレータで使用される別のbinディレクトリにコピーしてください。 建設後のイベントとして行うことをお勧めします。(手順は下記を参照)ローカルで実行する時(再コンパイル/ビルドを行うと、binディレクトリが元の状態に戻ります。). クラウドへのデプロイ時にこの問題は発生しません。
- 問題:Azure Functionプロジェクトをローカルで実行すると、追加の_bin_フォルダが作成され、そこから関数が実行されます。 しかし、必要なすべてのファイルがその bin フォルダにコピーされるわけではありません。
- 例をビルドする_C:㊦のプロジェクト。
- 解決方法C:㊟Codeazure-functions-testbin㊟Debug㊟netcoreapp3.1runtimes㊟ディレクトリをコピーして、C:㊟Codeazure-functions-testbin㊟Debug㊟netcoreapp3.1bin 内にも存在するようにする。
-
上書きの確認が表示された場合、既存のファイルを上書きしてください。
ポスト・ビルド・イベント:
-
Azure Functionsプロジェクトを右クリックし、プロパティを選択します。
-
イベントセクションまでスクロールダウン
-
ビルド後のイベントに
XCOPY "$を入力する。(ターゲットディレクトリ)ランタイム" "$(ターゲットディレクトリ)
bin/runtimes" /S /E /Y /I /R /D`