2025-06-12
C#
00

目录

1、问题产生
2、问题分析
3、问题解决

1、问题产生

使用 Grove.dll 依赖的接口项目发布到IIS部署上线时,运行报错:System.BadImageFormatException,详见下图:

image.png

2、问题分析

根据报错信息和堆栈跟踪分析,这是一个典型的 ​​程序集位元不匹配(32位 vs 64位)​​ 导致的 System.BadImageFormatException,因此,需要检查Grove的编译平台:

image.png

问题所在:Grove 程序集(或其依赖项)的编译平台架构(x86/x64)与 IIS 应用程序池的架构不一致。 ​​例如​​:Grove 是 ​​32位(x86)​​ 程序集,但应用池运行在 ​​64位(x64)​​ 模式

3、问题解决

  • 打开 IIS 管理器 → 选择应用程序池 → 右键点击你使用的应用池 → 高级设置。

  • 找到 启用 32 位应用程序 选项,将其设为 True。

  • 验证:修改后 重启应用池(右键 → 回收)。

image.png

重启服务后效果:

image.png

本文作者:张京

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!