程序集参考 - System.BadImageFormatException错误

时间:2012-12-06 13:49:28

标签: .net

我引用了.net 3.5项目中基于.net 2.0构建的程序集。它在Windows xp机器上工作正常,但在Win2003 64位上部署

我收到错误

System.BadImageFormatException: Could not load file or assembly 'Wrapper, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.

WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Project是在Win xp 32位机器上构建的,然后使用wix安装程序进行部署,尝试手动更换程序集但无法正常工作。

1 个答案:

答案 0 :(得分:2)

您应该检查Wrapper程序集的构建属性。我怀疑它设置为32位(x86)。您需要将它作为AnyCpu或x64才能加载到64位CLR中。

现在,如果它实际上是非托管代码的包装器,您可能需要两个不同版本的程序集 - 一个用于32位,一个用于64位。

另一种方法是将应用程序更改为32位。目前尚不清楚您正在运行什么样的应用程序,或者这是否合适 - 但值得考虑。