使用 IronOCR 在本地機器上除錯 Azure Functions
This article was translated from English: Does it need improvement?
Translated
View the article in English
在本地執行 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 Emulator (VS2019),系統會建立一個額外的 bin 目錄,供 Storage Emulator 進行部署使用。 此目錄僅複製 DLL 檔案,因此需要其他檔案的軟體將無法運作,並可能拋出上述例外。
您可以透過將 runtimes 目錄複製到儲存模擬器所使用的獨立 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 "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /DXCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /DSHELL- 說明:
XCOPY用於複製檔案和目錄樹。$(TargetDir)runtimes是最初編譯執行時檔案的來源目錄。$(TargetDir)bin\runtimes是應用程式在本地執行時,執行時檔案的目標目錄。- 選項:
/S會複製目錄及其子目錄,但空目錄除外。/E會複製所有子目錄,包括空目錄。/Y會抑制覆寫現有檔案的確認提示。/I若目標位置不存在且需複製多個檔案時,系統會預設目標位置必須為目錄。/R會覆寫唯讀檔案。/D僅複製比目標目錄中的檔案更新,或目標目錄中缺失的檔案。
- 說明:

準備開始了嗎?
Nuget 下載 5,896,332 | 版本: 2026.5 just released

