Debuggen von Azure-Funktionen auf dem lokalen Rechner mit IronOCR
Probleme bei der lokalen Ausführung von Azure
Häufige Ausnahmen, bei denen dieses Problem auftritt, sind:
- Fehler bei der Bereitstellung von Tesseract für IronOcr
- Es konnte kein 'libtesseract-5' gefunden werden
- 'libtesseract-5' kann nicht gefunden werden
- Tesseract-5 konnte nicht lokalisiert werden
- Fehler beim Auffinden der Bereitstellungskonfigurationsdatei unter \bin\runtimes\win-x64\native\IronOcr.Native.deployment.json
- IronOcr: Fehlende .traineddata-Datei für 'EnglishBest', die sich unter folgender Adresse befinden sollte
Problem mit Abhängigkeiten bei der lokalen Ausführung von Azure-Funktionen
Wenn Sie Azure lokal ausführen, verwenden Sie Azurite(VS2022) oder den Azure-Storage-Emulator(VS2019)wird ein zusätzliches bin-Verzeichnis erstellt, das der Speicheremulator für die Bereitstellung verwendet. Es werden nur DLL-Dateien in dieses Verzeichnis kopiert, so dass Software, die zusätzliche Dateien benötigt, nicht funktioniert und die oben genannte Ausnahme auslösen kann.
Sie können dieses Problem beheben, indem Sie das Laufzeitenverzeichnis in das vom Speicheremulator verwendete separate bin-Verzeichnis kopieren. Wir empfehlen, dies als Ereignis nach der Erstellung zu tun(siehe unten für Anweisungen) bei lokaler Ausführung(da recompile/build das bin-Verzeichnis in seinen ursprünglichen Zustand zurückversetzt). Bei der Bereitstellung in der Cloud wird dieses Problem nicht auftreten.
- Problem: Wenn ein Azure Function-Projekt lokal ausgeführt wird, wird ein zusätzlicher bin-Ordner erstellt, aus dem heraus die Funktion ausgeführt wird. Es werden jedoch nicht alle erforderlichen Dateien in den Ordner bin kopiert.
- Beispiel: Ein Projekt unter C:\code\azure-functions-test, das nach C:\code\azure-functions-test\bin\Debug\netcoreapp3.1 erstellt wird
- Lösung: Kopieren Sie das Verzeichnis C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\runtimes , so dass es auch innerhalb von C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\bin existiert
Überschreiben Sie vorhandene Dateien, wenn Sie dazu aufgefordert werden
Veranstaltung nach der Bauphase:
Klicken Sie mit der rechten Maustaste auf das Azure Functions-Projekt, wählen Sie Eigenschaften
Blättern Sie nach unten zum Abschnitt Veranstaltungen
Geben Sie ein Post-Build-Ereignis von
XCOPY "$(ZielVerzeichnis)laufzeiten" "$(ZielVerzeichnis)bin/runtimes" /S /E /Y /I /R /D