使用 IronPDF 在本地端除錯 Azure Functions

This article was translated from English: Does it need improvement?
Translated
View the article in English

在本地執行 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 Function 示意圖

在本地執行 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 中設定建置後事件

  1. 右鍵點擊 Azure Functions 專案,選擇"內容"。
  2. 向下捲動至"活動"區塊。
  3. 輸入一個"建置後事件",如下所示:
XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
SHELL

此指令將:

  • runtimes 目錄中的內容複製到 bin/runtimes 目錄中。
  • /S/E 參數可確保所有子目錄及空目錄均被納入。
  • /Y 開關可抑制系統提示,避免詢問您是否要覆寫現有的目標檔案。
  • /I 參數假設若目標位置不存在,則會將其視為目錄。
  • /R 參數會覆寫唯讀檔案。
  • /D 參數用於複製在指定日期或之後變更的檔案。

建置後事件設定

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
Nuget 下載 19,014,616 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronPdf
執行範例 觀看您的 HTML 轉為 PDF。