在本地機器上調試 Azure Functions 項目

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 Appsnetcoreapp3.1必要條件:在 Visual Studio 中建立 Azure Function 時,使用預設的 「in-process」 配置。最新版的 IronPDF 支援以「out-of-process」或「isolated process」運行的 Azure Functions,如此處所述。在隔離工作模型中運行C# Azure Functions的指南然而,舊版本可能不支援這些類型的 Azure Functions。

在本地运行 Azure Functions 时依赖性问题

在本地运行 Azure 时,使用 Azurite (VS2022) 或 Azure Storage 模擬器 (VS2019), 會建立一個存儲模擬器部署使用的額外 bin 目錄。只有 DLL 文件會被複製到這個目錄,所以需要其他文件的軟件將無法運行並可能拋出上述異常。

您可以通過將 runtimes 目錄複製到存儲模擬器使用的單獨 bin 目錄來解決此問題。我們建議將此操作設置為 post-build 事件。 (見下方指示) 在本地運行時 (由於重新編譯/構建將使 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 中。

  • 如有提示,覆蓋任何現有檔案。

後建置事件

  1. 右鍵點擊 Azure Functions 專案,選擇 屬性

  2. 向下滾動至 事件 部分

  3. 輸入 後建置事件 XCOPY "$(目標目錄)運行時" "$(目標目錄)bin/runtimes" /S /E /Y /I /R /D