使用 IronPDF 在本地调试 Azure 函数
本地运行Azure时的问题
遇到此问题时常见的异常是 "在定位部署配置文件 IronPDF.Native.Chrome.deployment.json 时出错"
推荐: 运行针对 .NET Core 3.1 <TargetFramework>netcoreapp3.1</TargetFramework> 的 Windows 托管 Azure 函数应用
必需: 在 Visual Studio 中创建 Azure 函数时使用默认的 "在进程中" 配置。 IronPDF 的最新版本支持运行在 "出进程" 或 "隔离进程" 中的 Azure 函数,可以参阅 "在隔离工作模型中运行 C# Azure 函数的指南"。但是,旧版本可能不支持这些类型的Azure函数。

本地运行Azure函数时的依赖问题
在本地使用 Azurite (VS2022) 或 Azure Storage Emulator (VS2019) 运行 Azure 时,会创建一个额外的 bin 目录,存储模拟器用于部署。 只有 DLL 文件被复制到此目录,因此需要额外文件的软件将无法运行,并可能抛出上述异常。
您可以通过将 runtimes 目录复制到存储模拟器使用的单独 bin 目录中来解决此问题。 我们建议在本地运行时作为 构建后事件(见下方说明)执行此操作(因为重新编译/构建将使 bin 目录恢复到其原始状态)。 部署到云端时,你将不会遇到此问题。
- 问题: 本地运行 Azure 函数项目时,它会创建一个额外的 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 bin 目录,请按照以下说明在 Visual Studio 中设置 构建后事件:
- 右键单击 Azure Functions 项目,选择 属性。
- 向下滚动到 事件 部分。
- 输入下面显示的 构建后事件:
XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /DXCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D此命令将:
- 将 runtimes 目录的内容复制到 bin/runtimes 目录。
/S和/E开关确保包含所有子目录和空目录。/Y开关抑制提示确认您是否要覆盖现有目标文件。/I开关假设目标是目录(如果不存在)。/R开关覆盖只读文件。/D开关复制指定日期或之后更改的文件。







