64位IIS7不会运行32位dll,即使启用了32位也是如此

时间:2010-07-29 11:01:33

标签: c# iis-7

我有一个使用32位dll的C#网络应用。每当我尝试访问该服务时,我都会

"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位,重置所有内容,再次尝试 - 但仍然是同样的错误。

我发现的大部分问题都是通过“32bit enabled = true”更改解决的。有任何想法吗?

1 个答案:

答案 0 :(得分:1)

尝试通过没有安装开发工具的控制台应用程序(也就是没有安装VS2008的实时环境或开发服务器)访问它,然后再试一次(RE:Heinzi发布的评论)。

如果您仍然可以检查您的网络应用程序是否在正确的.NET框架版本下运行(并且它已安装在服务器上)。

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

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

希望我帮助过。

修改

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