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: Ausführen von Windows-gehosteten Azure Function Apps, die auf .NET Core 3.1 <TargetFramework>netcoreapp3.1</TargetFramework> abzielen
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
/Sund/ESwitches stellen sicher, dass alle Unterverzeichnisse und leeren Verzeichnisse einbezogen werden. - Der
/Y-Switch unterdrückt die Aufforderung, zu bestätigen, dass Sie eine vorhandene Zieldatei überschreiben möchten. - Der
/I-Switch nimmt an, dass das Ziel ein Verzeichnis ist, wenn es nicht existiert. - Der
/R-Switch überschreibt schreibgeschützte Dateien. - Der
/D-Switch kopiert Dateien, die am oder nach dem angegebenen Datum geändert wurden.


