Debugowanie funkcji Azure na maszynie lokalnej z IronOCR

This article was translated from English: Does it need improvement?
Translated
View the article in English

Problemy podczas uruchamiania Azure lokalnie

Typowe wyjątki występujące przy tym problemie to:

  • Błąd podczas wdrażania Tesseract dla IronOcr
  • Nie udało się znaleźć 'libtesseract-5'
  • Nie można zlokalizować 'libtesseract-5'
  • Nie udało się zlokalizować Tesseract-5
  • Błąd podczas lokalizowania pliku konfiguracyjnego wdrożenia w \bin\runtimes\win-x64\native\IronOcr.Native.deployment.json
  • IronOcr: Brakuje pliku .traineddata dla 'EnglishBest', który powinien się znajdować w

Problem z zależnościami podczas uruchamiania Azure Functions lokalnie

Podczas uruchamiania Azure lokalnie, używając Azurite (VS2022) lub Emulatora Azure Storage (VS2019), tworzony jest dodatkowy katalog bin, który Emulator Storage używa do wdrażania. Do tego katalogu kopiowane są tylko pliki DLL, więc oprogramowanie, które wymaga dodatkowych plików, nie będzie działać i może rzucać powyższym wyjątkiem.

Można rozwiązać ten problem, kopiując katalog runetimes do oddzielnego katalogu bin używanego przez Emulator Storage. Zalecamy wykonanie tego jako zdarzenia po kompilacji (zobacz poniżej instrukcje), gdy uruchamiasz lokalnie (ponieważ ponowna kompilacja/zbudowanie przywróci katalog bin do pierwotnego stanu). Nie napotkasz tego problemu podczas wdrażania do chmury.

  • Problem: Podczas lokalnego uruchamiania projektu funkcji Azure, tworzy on dodatkowy folder bin, z którego uruchamia funkcję. Jednakże nie kopiuje do wspomnianego folderu bin wszystkich niezbędnych plików.
  • Przykład: Projekt w C:\code\azure-functions-test, który buduje do C:\code\azure-functions-test\bin\Debug\netcoreapp3.1
  • Rozwiązanie: Sklonuj katalog C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\runtimes aby także istniał w C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\bin
  • Nadpisz wszystkie istniejące pliki, jeśli zostaniesz poproszony o potwierdzenie

File V9pZPFGwDl related to Problem z zależnościami podczas uruchamiania Azure Functions lokalnie

Kroki wydarzenia po kompilacji

  1. Kliknij prawym przyciskiem myszy projekt funkcji Azure, wybierz Właściwości.
  2. Przewiń w dół do sekcji Wydarzenia.
  3. Wprowadź polecenie wydarzenia po kompilacji, które skopiuje wszystkie wymagane pliki do odpowiedniego katalogu:

    XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
    XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
    SHELL

    Wyjaśnienie:

    • XCOPY jest używane do kopiowania plików i drzew katalogów.
    • $(TargetDir)runtimes jest katalogiem źródłowym, gdzie początkowo kompilowane są pliki uruchomieniowe.
    • $(TargetDir)bin\runtimes jest katalogiem docelowym dla plików uruchomieniowych, gdy aplikacja działa lokalnie.
    • Opcje:
      • /S kopiuje katalogi i podkatalogi z wyjątkiem pustych.
      • /E kopiuje wszystkie podkatalogi, w tym puste.
      • /Y tłumi potwierdzenie nadpisania istniejących plików.
      • /I jeśli miejsce docelowe nie istnieje i kopiujemy więcej niż jeden plik, zakłada, że docelowy musi być katalogiem.
      • /R nadpisuje pliki tylko do odczytu.
      • /D kopiuje tylko pliki, które są nowsze lub których brakuje w miejscu docelowym.

File R3HdEFPHAL related to Kroki wydarzenia po kompilacji

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 5,571,678 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronOcr
uruchom próbkę obserwuj, jak twój obraz staje się tekstem z możliwością wyszukiwania.