Debugowanie Azure Functions lokalnie z IronPDF
Problemy przy uruchamianiu Azure lokalnie
Typowym wyjątkiem, który można zobaczyć w przypadku napotkania tego problemu, jest "Błąd podczas lokalizowania pliku konfiguracyjnego wdrażania IronPdf.Native.Chrome.deployment.json."
Zalecane: Uruchom aplikacje Azure Function hostowane w systemie Windows, przeznaczone dla platformy .NET Core 3.1 <TargetFramework>netcoreapp3.1</TargetFramework>
Wymagane: Użyj domyślnej konfiguracji "in-process" podczas tworzenia funkcji Azure w Visual Studio. Najnowsza wersja IronPDF obsługuje Azure Functions uruchamiane 'out-of-process' lub w 'izolowanym procesie', jak opisano w "Przewodnik po uruchamianiu Azure Functions w C# w modelu izolowanego pracownika." Jednak starsze wersje mogą nie obsługiwać tych typów Azure Functions.

Problem z zależnościami przy uruchamianiu 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 zdarzenie post-build (patrz poniżej instrukcje) podczas uruchamiania lokalnego (ponowne rekompilowanie/budowanie przywróci katalog bin do jego 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

Zdarzenie Post-Build
Aby zautomatyzować proces kopiowania niezbędnych plików do lokalnego katalogu bin funkcji Azure, postępuj zgodnie z tymi instrukcjami, aby ustawić zdarzenie post-build w Visual Studio:
- Kliknij prawym przyciskiem myszy na projekcie Azure Functions, wybierz Właściwości.
- Przewiń do sekcji Zdarzenia.
- Wprowadź zdarzenie post-build jak pokazano poniżej:
XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
Ta komenda wykonuje:
- Kopiuje zawartość katalogu runtimes do katalogu bin/runtimes.
- Przełączniki
/Si/Ezapewniają uwzględnienie wszystkich podkatalogów i pustych katalogów. - Przełącznik
/Ywyłącza monit o potwierdzenie, czy chcesz nadpisać istniejący plik docelowy. - Przełącznik
/Izakłada, że miejsce docelowe jest katalogiem, jeśli nie istnieje. - Przełącznik
/Rnadpisuje pliki tylko do odczytu. - Przełącznik
/Dkopiuje pliki zmienione w określonym dniu lub później.


