You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Azure Web Service中使用MigraDoc WPF渲染PDF时遇BadImageFormatException错误

解决MigraDoc渲染时PresentationCore加载错误的方案
  • 检查框架与包版本兼容性
    旧版MigraDoc/PdfSharp依赖.NET Framework的WPF组件(如PresentationCore),若当前项目基于.NET Core/.NET 5+,需替换为适配跨平台的Core版本包:

    1. 卸载旧包:Uninstall-Package MigraDoc -Force、Uninstall-Package PdfSharp -Force
    2. 安装Core版本:Install-Package MigraDocCore.DocumentObjectModel、Install-Package PdfSharpCore
  • 清理依赖与构建输出
    残留的旧引用或构建文件可能导致错误,执行以下操作:

    • 删除项目根目录下的bin和obj文件夹
    • 执行命令:dotnet clean → dotnet restore → dotnet build
      或通过IDE右键项目选择「清理」后再「生成」
  • 调整平台目标设置
    项目平台目标与依赖程序集不匹配会触发BadImageFormatException:

    1. 右键项目→属性→生成
    2. 确保「平台目标」设置为x64或x86(与本地环境一致),若选Any CPU则关闭「首选32位」选项
  • 移除不必要的PresentationCore引用
    检查项目引用列表,若存在PresentationCore,直接删除该引用——MigraDoc的PDF渲染逻辑不需要WPF组件支持

  • 进阶:调整程序集加载策略(兜底方案)
    若以上方法无效,可在项目入口处添加代码,阻止加载PresentationCore引用程序集:

    using System.Reflection;
    
    AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += (sender, args) =>
    {
        if (args.Name.StartsWith("PresentationCore,"))
        {
            return null;
        }
        return Assembly.Load(args.Name);
    };
    

内容的提问来源于stack exchange,提问作者VDS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 07:22:09