Debuggen eines Azure Functions-Projekts auf einem lokalen Rechner

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

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:

  1. Klicken Sie mit der rechten Maustaste auf das Azure Functions-Projekt, wählen Sie Eigenschaften

  2. Blättern Sie nach unten zum Abschnitt Veranstaltungen

  3. Geben Sie ein Post-Build-Ereignis von XCOPY "$(ZielVerzeichnis)laufzeiten" "$(ZielVerzeichnis)bin/runtimes" /S /E /Y /I /R /D