0

我在 Windows 桌面应用程序的生产机器上遇到以下异常:

无法加载文件或程序集 'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 或其依赖项之一。文件已损坏。(来自 HRESULT 的异常:0x8013110E)

我知道可能有多种原因,例如平台不匹配、目标 .net 框架不匹配等。但是,我可以在生产机器上运行哪些工具/检查来查明原因?

4

1 回答 1

0

事实上,该应用程序是 64 位的。因此,请查看并在 IIS7 的应用程序池的高级设置中找到一个选项,名为“启用 32 位应用程序”。 在此处输入图像描述

将其设置为true后,一切都会正常工作。

注意:如果您想在 IIS6 中使用它,请注意 IIS6 不支持“每个应用程序池”。因此,如果您将 IIS6 设置为 32 位,则其所有应用程序池都将以 32 位模式运行。如果要在“每个应用程序池”的基础上进行设置,则必须升级到 IIS7。要将 IIS6 设置为 32 位,请执行以下操作:

  1. 打开命令提示符并导航到 %systemdrive%\Inetpub\AdminScripts 目录。
  2. 输入以下命令:

cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true" 似乎在某些情况下,上述命令中的“true”需要替换为 1。有时还需要重置 IIS。

于 2013-05-30T10:00:51.290 回答