代码之家  ›  专栏  ›  技术社区  ›  Yossale

64位iis7不会运行32位dll,即使启用了32位

  •  3
  • Yossale  · 技术社区  · 14 年前

    我有一个使用32位DLL的C Web应用程序。每次我尝试访问服务时,我都会

    "Could not load file or assembly 'RegCheck' or one of its dependencies. An attempt was made to load a program with an incorrect format. "
    

    我已将IIS池切换为启用32位,重置所有内容,然后重试-但仍然存在相同的错误。

    我发现的大多数问题都是通过“32位启用=真”更改解决的。有什么想法吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   AcidRaZor    14 年前

    尝试在没有安装开发工具的情况下通过控制台应用程序访问它(也就是说,没有安装VS2008的实时环境或开发服务器),然后重试(re:heinzi发布的评论)。

    如果您仍然可以检查您的Web应用程序是否在正确的.NET Framework版本下运行(以及它是否安装在服务器上)。

    因为这似乎不是一个需要打开32位应用程序的ISAPI DLL,而是一个C_Web应用程序。我的钱是服务器上的Web应用部署有问题,而不是DLL本身。

    还请记住,如果dll不是.NET,您需要使用regsrv32在服务器上注册它,然后才能使用Web应用程序访问它。

    希望我能帮上忙。

    编辑

    如果所有其他尝试都失败,请尝试在编译器上将目标设置为x86并在Web应用程序中重新引用所使用的dll。