Debugging Azure Functions Locally with IronPDF

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

本地運行 Azure 時的問題

遇到這個問題時常見的例外是 "Error while locating deployment configuration file IronPdf.Native.Chrome.deployment.json"

建議: 運行目標為 .NET Core 3.1 的 Windows 承載的 Azure Function 應用 <TargetFramework>netcoreapp3.1</TargetFramework>

必需: 在 Visual Studio 中創建 Azure Function 時,使用默認的 "in-process" 配置。 最新版 IronPDF 支援運行於 'out-of-process' 或 'isolated process' 的 Azure Functions,詳見「C# Azure Functions 在隔離工作模型中運行指南」。然而,舊版本可能不支持這些類型的 Azure Functions。

Azure Function 圖表

本地運行 Azure Functions 時的依賴問題

本地運行 Azure 時,使用 Azurite (VS2022) 或 Azure Storage Emulator (VS2019),會創建一個額外的 bin 目錄,供 Storage Emulator 部署使用。 只有 DLL 文件會被複製到此目錄,因此需要額外文件的軟體將無法運行,且可能拋出上述異常。

您可以通過將 runtimes 目錄複製到 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 中設置 編譯後事件

  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,154,058 | 版本: 2025.11 剛剛發布