无法加载文件或程序集.在 IIS 8.0 上运行的 32 位程序集



我正在尝试将当前在 IIS 7 中运行的 WCF 服务部署到 IIS 8。 若要在 IIS 7 中运行 32 位 DLL,我必须在应用程序池中选中"启用 32 位应用程序"。 当我在 IIS 8 中执行此操作时,它不起作用。

确切的错误消息是

无法加载文件或程序集"Progress.ssl.DLL"或其之一 依赖。找不到指定的模块。 描述: 执行当前 网络请求。请查看堆栈跟踪以获取有关以下内容的更多信息 错误及其在代码中的起源。 异常详情: System.IO.FileNotFoundException:无法加载文件或程序集 "Progress.ssl.DLL"或其依赖项之一。指定的模块 找不到。

是否还有其他步骤可以使 32 位 DLL 在 IIS 8 中运行?

嘿,

我为此苦苦挣扎了几个小时,但这是帮助我的解决方案:

转到 IIS 管理器:

  1. 选择应用程序池
  2. 然后选择您正在使用的池
  3. 转到高级设置(右侧)
  4. "启用 32 位应用程序 false"的标志更改为 true

希望有帮助

检查是否为正确的 .net 框架配置了应用程序池,并确保将 WCF 应用分配给此应用程序池。如果这些是正确的,并且您为应用程序池启用了 32 位库,则它应该开始工作。

我刚刚发现有问题的 32 位 DLL 是用 .NET 2.0 构建的。 Server 2012 运行的是 .NET 4.5。

最新更新