使用 IronPDF 在本地调试 Azure 函数

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

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

在遇到此问题时常见的异常是“定位部署配置文件 IronPdf.Native.Chrome.deployment.json 时出错”。

推荐:运行托管在 Windows 上的 Azure Function 应用程序,目标是 .NET Core 3.1 <TargetFramework>netcoreapp3.1</TargetFramework>

必需: 在 Visual Studio 中创建 Azure Function 时使用默认的“in-process”配置。 最新版本的IronPDF支持Azure Functions以“进程外”或“隔离进程”运行,如此处所述 "在隔离工作者模型中运行C# Azure Functions的指南"。然而,旧版本可能不支持这些类型的Azure Functions。

File C0W8T6e0Ah related to 在本地运行Azure时遇到的问题

在本地运行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_中。
  • 如果提示,请覆盖任何现有文件。

    File V9pZPFGwDl related to 在本地运行Azure Functions时遇到的依赖问题

生成后事件

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

  2. 滚动到事件部分

  3. 输入一个生成后事件 XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin/runtimes" /S /E /Y /I /R /D

    File R3HdEFPHAL related to 生成后事件