我有一个使用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”更改解决的。有任何想法吗?
答案 0 :(得分:1)
尝试通过没有安装开发工具的控制台应用程序(也就是没有安装VS2008的实时环境或开发服务器)访问它,然后再试一次(RE:Heinzi发布的评论)。
如果您仍然可以检查您的网络应用程序是否在正确的.NET框架版本下运行(并且它已安装在服务器上)。
因为这似乎不是需要打开32位应用程序的ISAPI DLL,而是C#Web App。我的钱是服务器上的Web应用程序部署有问题,而不是DLL本身。
另外请记住,如果DLL不是.NET,您需要使用regsrv32在服务器上注册它,然后才能使用您的Web应用程序访问它。
希望我帮助过。
修改的
如果所有其他尝试都失败,请尝试重新编译您正在使用的DLL,将目标设置为编译器上的X86,并在您的Web应用程序中重新引用它。