於本機端使用IronPDF偵錯Azure函式
在本機執行Azure時的問題
在遇到這個問題時常見的例外是"Error while locating deployment configuration file IronPdf.Native.Chrome.deployment.json."
建議:執行以Windows為主機的Azure Function Apps,這些應用程式的目標是 .NET Core 3.1 <TargetFramework>netcoreapp3.1</TargetFramework>
必需: 在Visual Studio中建立Azure Function時,使用預設的"in-process"配置。 IronPDF的最新版本支持在"out-of-process"或"獨立進程"中運行的Azure Functions,如指南《在獨立進程模式下運行C# Azure Functions的指南》中所描述。然而,舊版本可能不支持這些型別的Azure Functions。

在本機執行Azure Functions時與相依關係的問題
在本機執行Azure時,使用Azurite(VS2022)或Azure Storage Emulator(VS2019),會建立一個額外的bin目錄,該Storage Emulator用於部署。 只有DLL檔案會被複製到此目錄中,因此需要附加文件的軟體無法運行,可能會拋出上述例外。
您可以通過將運行時目錄複製到Storage Emulator所使用的獨立bin目錄中來解決此問題。 我們建議在本機執行時(因為重新編譯/構建會將bin目錄恢復到原本狀態)作為編譯後事件來執行(請參見下方的說明)。 部署至雲端時,您不會遇到此問題。
- 問題: 當在本機運行Azure Function專案時,它會建立一個額外的_bin_資料夾,並從中運行該函式。 然而,它不會將所有必要的文件複製到所述_bin_資料夾中。
- 範例: 一個位於_C:\code\azure-functions-test_的專案會構建至C:\code\azure-functions-test\bin\Debug\netcoreapp3.1
- 解決方案: 複製_C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\runtimes_目錄,使其也存在於_C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\bin_中
- 如果提示,覆蓋任何現有的文件

編譯後事件
要自動將必要文件複製到本地Azure Function bin目錄中,請按照這些指示在Visual Studio中設置編譯後事件:
- 右鍵點擊Azure Functions專案,選取屬性。
- 滾動到事件部分。
- 輸入如下所示的編譯後事件:
XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
該命令將:
- 將_runtimes_目錄的內容複製到_bin/runtimes_目錄中。
/S和/E開關確保包含所有子目錄和空目錄。/Y開關抑制提示確認您是否希望覆蓋現有目標文件。/I開關假設目標為目錄,如果不存在。/R開關覆蓋唯讀文件。/D開關複製指定日期或之後更改的文件。


