WCF上下文中的BadImageFormatException

时间:2011-05-06 18:39:52

标签: wcf native target platform badimageformatexception

我的场景如下(Win7,VS2010,.NET 4.0):

我有一个来自外部公司的.NET程序集,为“任何CPU”编译(使用corflags.exe验证)。此程序集也从外部公司加载本机dll。这个本机dll有两个版本 - x86和x64。我都有。

当我创建一个控制台应用程序时,添加.NET程序集(同时确保.NET程序集可以找到其中一个本机DLL),从该.NET库创建一个类的实例并启动程序一切都很好。

但是,当我在WCF服务中遵循完全相同的步骤时,我收到BadImageFormatException。现在显而易见的是在目标平台中搜索错误(我试过“任何CPU”,“x86”,“x64”)或尝试交换本机DLL(我尝试了x86和x64),但这没有帮助。我试过所有组合btw ......

有谁知道问题可能是什么?

拉​​斯

P.S。:我读了BadImageFormatException encountered with WcfSvcHost and IIS WCF host并且作者声明他通过将WcfSvcHost.exe作为32BIT来解决类似的问题,但是WcfSvcHost.exe是强名称所以我无法重新签名。不确定他是如何让它工作的......

1 个答案:

答案 0 :(得分:1)

您可以删除对WcfSvcHost的依赖关系,并在本地IIS中托管/调试服务,您可以在其中将AppPool显式设置为32位或64位。那就是我要做的。