在本地機器上使用 IronOCR 偵錯 Azure Functions
在本地運行 Azure 時遇到的問題
常見的異常情況包括:
- 部署Tesseract至IronOCR時出錯
- 找不到 'libtesseract-5'
- 無法找到 'libtesseract-5'
- 找不到 Tesseract-5
- 在 \bin\runtimes\win-x64\native\IronOcr.Native.deployment.json 找到部署配置檔時出錯
- IronOcr:缺少位於的 'EnglishBest' .traineddata 文件
在本地運行 Azure Functions 時遇到的依賴性問題
在本地運行 Azure 時,使用 Azurite(VS2022)或 Azure Storage 模擬器(VS2019)在Storage Emulator使用的部署中,會創建一個額外的bin目錄。 僅有 DLL 檔案被複製到此目錄中,因此需要額外檔案的軟體將無法運作,並可能拋出上述異常。
您可以通過將 runtimes 目錄複製到 Storage Emulator 使用的單獨 bin 目錄中來解決此問題。 我们建议在构建后事件中执行此操作。(見下方指示)在本地運行時(由於重新編譯/構建將使 bin 目錄恢復到其原始狀態). 部署到雲端時,您將不會遇到此問題。
- 問題:當在本地運行 Azure Function 項目時,它會創建一個額外的 bin 文件夾,並從中運行函數。 但是,它並未將所有必要的檔案複製到所述的 bin 資料夾中。
- 範例:在 C:\code\azure-functions-test 的專案,編譯至 C:\code\azure-functions-test\bin\Debug\netcoreapp3.1
- 解決方案:將 C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\runtimes 目錄複製一份,使其也存在於 C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\bin 中。
如有提示,覆寫任何現有檔案
組件後事件:
在 Azure Functions 專案上點擊右鍵,選擇屬性
向下滾動至活動部分
在
XCOPY "$
的後續建置事件中输入(目標目錄)運行時" "$(目標目錄)bin/runtimes" /S /E /Y /I /R /D`