使用 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 時發生錯誤"。

建議:執行針對 .NET Core 3.1 的 Windows 託管 Azure 函數應用<TargetFramework>netcoreapp3.1</TargetFramework>

必填:在 Visual Studio 中建立 Azure 函數時,請使用預設的"進程內"設定。 最新版本的 IronPDF 支援以"進程外"或"隔離進程"方式執行 Azure Functions,如" 在隔離工作進程模型中執行 C# Azure Functions 指南"中所述。但是,舊版本可能不支援這些類型的 Azure Functions。

Azure 函數圖

本地執行 Azure Functions 時出現相依性問題

在本機執行 Azure 時,使用 Azurite (VS2022) 或 Azure 儲存模擬器 (VS2019),會建立一個額外的 bin 目錄,而儲存模擬器會使用該目錄進行部署。 只有 DLL 檔案會被複製到這個目錄,因此需要其他檔案的軟體將無法執行,並可能拋出上述異常。

您可以透過將運行時目錄複製到儲存模擬器使用的單獨 bin 目錄中來解決此問題。 我們建議在本地運行時,將此操作作為建置後事件執行(有關說明,請參見下文)(因為重新編譯/建置會將 bin 目錄恢復到其原始狀態)。 部署到雲端時不會遇到此問題。

-問題:在本機執行 Azure 函數專案時,它會建立一個額外的 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 函數 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 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 16,685,821 | 版本: 2025.12 剛發表