使用 IronPDF 在本地调试 Azure 函数
在本地运行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。
在本地运行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_中。
如果提示,请覆盖任何现有文件。
生成后事件
右键单击 Azure Functions 项目,选择属性
滚动到事件部分
输入一个生成后事件
XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin/runtimes" /S /E /Y /I /R /D