【发布时间】:2010-11-11 23:46:49
【问题描述】:
我有一个 P/Invokes 32 位 DLL 的 ASP.NET 应用程序。
当我将它部署在 64 位服务器上时,我收到错误“尝试加载格式不正确的程序”。
然后我按照here 给出的说明将 IIS 配置为运行 32 位。仍然得到同样的错误。
这可能是什么问题?
【问题讨论】:
我有一个 P/Invokes 32 位 DLL 的 ASP.NET 应用程序。
当我将它部署在 64 位服务器上时,我收到错误“尝试加载格式不正确的程序”。
然后我按照here 给出的说明将 IIS 配置为运行 32 位。仍然得到同样的错误。
这可能是什么问题?
【问题讨论】:
这仅允许 32 位应用程序运行,但它不会让任何东西真正在32 位模式下运行。
要使用 32 位 dll,您的 Web 应用程序必须以 32 位模式运行,这是通过将 IIS 切换为以 32 位模式运行来完成的。但是,这可能实际上是不可能的,具体取决于服务器上运行的其他 Web 应用程序,因为 所有 Web 应用程序必须在 32 位模式下运行。您链接到的页面上有一个链接,其中包含有关在 32 位模式下运行 IIS 的影响的更多信息。
如果您无法在 32 位模式下运行 IIS,则需要 64 位版本的 dll 才能使用它。
【讨论】: