Lokales Debugging von Azure Functions mit IronPDF
Probleme beim lokalen Ausführen von Azure
Eine häufige Ausnahme, die bei diesem Problem auftritt, ist "Fehler beim Auffinden der Bereitstellungskonfigurationsdatei IronPdf.Native.Chrome.deployment.json."
Empfohlen: Führen Sie auf Windows gehostete Azure Function Apps aus, die auf .NET Core 3.1 abzielen <TargetFramework>netcoreapp3.1</TargetFramework>
Erforderlich: Verwenden Sie die standardmäßige "in-process"-Konfiguration beim Erstellen einer Azure-Funktion in Visual Studio. Die neueste Version von IronPDF unterstützt Azure Functions, die "out-of-process" oder in einem "isolierten Prozess" ausgeführt werden, wie im "Leitfaden zum Ausführen von C# Azure Functions im isolierten Arbeitsmodell" beschrieben. Ältere Versionen unterstützen jedoch möglicherweise diese Arten von Azure Functions nicht.

Problem mit Abhängigkeiten beim lokalen Ausführen von Azure Functions
Beim lokalen Ausführen von Azure mit Azurite (VS2022) oder dem Azure Storage Emulator (VS2019) wird ein zusätzliches Bin-Verzeichnis erstellt, das der Storage Emulator für die Bereitstellung nutzt. Nur DLL-Dateien werden in dieses Verzeichnis kopiert, sodass Software, die zusätzliche Dateien erfordert, nicht funktioniert und die oben genannte Ausnahme auslösen kann.
Sie können dieses Problem beheben, indem Sie das Runtimes-Verzeichnis in das separate Bin-Verzeichnis kopieren, das vom Storage Emulator verwendet wird. Wir empfehlen, dies als Post-Build-Ereignis (siehe untenstehende Anweisungen) durchzuführen, wenn lokal ausgeführt wird (da durch Neukompilieren/Bauen das Verzeichnis bin in seinen ursprünglichen Zustand zurückgesetzt wird). Dieses Problem werden Sie nicht haben, wenn Sie in die Cloud bereitstellen.
- Problem: Beim lokalen Ausführen eines Azure-Funktion-Projekts wird ein zusätzliches bin-Verzeichnis erstellt, aus dem es die Funktion ausführt. Es kopiert jedoch nicht alle erforderlichen Dateien in dieses bin-Verzeichnis.
- Beispiel: Ein Projekt unter C:\code\azure-functions-test, das nach C:\code\azure-functions-test\bin\Debug\netcoreapp3.1 gebaut wird
- Lösung: Kopieren Sie das Verzeichnis C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\runtimes, sodass es auch innerhalb von C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\bin existiert
- Dateien überschreiben, wenn aufgefordert.

Post-Build-Ereignis
Um den Prozess des Kopierens notwendiger Dateien in das lokale Azure Function Bin-Verzeichnis zu automatisieren, folgen Sie diesen Anweisungen, um ein Post-Build-Ereignis in Visual Studio einzurichten:
- Klicken Sie mit der rechten Maustaste auf das Azure Functions-Projekt und wählen Sie Eigenschaften.
- Scrollen Sie nach unten zum Abschnitt Ereignisse.
- Geben Sie ein Post-Build-Ereignis wie unten gezeigt ein:
XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
Dieser Befehl wird:
- Den Inhalt des Verzeichnisses runtimes in das Verzeichnis bin/runtimes kopieren.
- Die Schalter
/Sund/Estellen sicher, dass alle Unterverzeichnisse und leeren Verzeichnisse einbezogen werden. - Der Schalter
/Yunterdrückt die Aufforderung zur Bestätigung, ob Sie eine vorhandene Zieldatei überschreiben möchten. - Der Schalter
/Igeht davon aus, dass das Zielverzeichnis ein Verzeichnis ist, falls es nicht existiert. - Der Schalter
/Rüberschreibt schreibgeschützte Dateien. - Der Schalter
/Dkopiert Dateien, die am oder nach dem angegebenen Datum geändert wurden.


