18
对BadImageFormatException进行故障排除
我有一个使用Visual Studio 2010用C#编写的Windows服务,目标是完整的.NET Framework4。从Debug版本运行时,该服务将按预期运行。但是,当我从Release版本运行它时,我得到了System.BadImageFormatException(详细信息如下)。我一直在互联网上寻找解决方案,但到目前为止,我发现的每一件事都没有帮助我找到解决方案。 Windows 7 64位(dev)和Windows XP SP3 32位(目标)系统上都存在此问题。 到目前为止,这是我尝试过的: 经过验证的构建设置(例如Platform Target)都相同(x86)。 使用带有/ verbose选项的peverify来确保程序集二进制文件有效。 使用fuslogvw查找任何加载问题。 使用CheckAsm查找丢失的文件或组件。 所有这些检查都没有改变任何东西。我在下面提供了异常信息的全文,其中一些名称已更改,以保护我的企业主的秘密。 System.BadImageFormatException未处理 消息=无法加载文件或程序集'XxxDevices,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一。试图加载格式错误的程序。 来源= XxxDevicesService FileName = XxxDevices,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null FusionLog =程序集管理器从以下位置加载:C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ clr.dll 在可执行文件c:\ Dev …