使用 IronPDF 在本地端除錯 Azure Functions
在本地執行 Azure 時遇到的問題
遇到此問題時常見的錯誤訊息為:"定位部署配置檔案 IronPdf.Native.Chrome.deployment.json 時發生錯誤。"
建議:執行以 Windows 為宿主、目標為 .NET Core 3.1 的 Azure Function Apps <TargetFramework>netcoreapp3.1</TargetFramework>
必備條件:在 Visual Studio 中建立 Azure Function 時,請使用預設的"進程內"配置。 IronPDF 最新版本支援以"非進程"或"隔離進程"模式執行的 Azure Functions,詳見《在隔離工作模型中執行 C# Azure Functions 的指南》。然而,舊版可能不支援此類 Azure Functions。

在本地執行 Azure Functions 時遇到的依賴項問題
在本地執行 Azure 時,若使用 Azurite (VS2022) 或 Azure Storage Emulator (VS2019),系統會建立一個額外的 bin 目錄,供 Storage Emulator 進行部署使用。 此目錄僅複製 DLL 檔案,因此需要其他檔案的軟體將無法運作,並可能拋出上述例外。
您可以透過將 runtimes 目錄複製到儲存模擬器所使用的獨立 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參數用於複製在指定日期或之後變更的檔案。


