在本地机器上调试 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 Function 应用程序netcoreapp3.1`

必需: 在 Visual Studio 中创建 Azure 函数时,请使用默认的“进程内”配置。 最新版本的IronPDF支持在“外部进程”或“隔离进程”中运行的Azure Functions,如此处所述:“在隔离 Worker 模型中运行 C# Azure 函数的指南但是,较旧版本可能不支持这些类型的Azure Functions。

在本地运行Azure Functions时遇到的依赖问题

在本地运行 Azure 时,使用 Azurite(VS2022)或 Azure 存储模拟器(VS2019)在存储模拟器用于部署时会创建一个额外的bin目录。 只有 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_中。
  • 如果提示,请覆盖任何现有文件。

生成后事件

  1. 右键单击 Azure Functions 项目,选择属性

  2. 向下滚动到事件部分。

  3. 输入一个Post-build eventXCOPY "$(目标目录)运行时" "$(目标目录)bin/runtimes" /S /E /Y /I /R /D