【发布时间】:2011-03-22 19:33:37
【问题描述】:
我正在尝试在面向 .Net 4 框架的 WPF 应用程序中添加对 .Net 2.0 DLL 的引用。
我在 app.config 文件中添加了<startup useLegacyV2RuntimeActivationPolicy="true">。 WPF 应用程序构建良好,但在尝试访问 .Net 2.0 DLL 时在运行时收到 BadImageFormatException。
“试图加载格式不正确的程序”
这适用于新的测试 WPF 项目,但不适用于我的应用程序。我的应用程序使用实体框架和 MEF。这些技术是否会导致问题?
有什么想法吗?
编辑:已解决
根据下面 Alois 的评论,我的主应用程序针对“任何 CPU”,而 DLL 的目标是 32 位。
<startup useLegacyV2RuntimeActivationPolicy="true"> 不是必需的
【问题讨论】:
-
会不会是程序集是为 32 位编译的,而您正在将其加载到 64 位进程中,反之亦然?使用 .NET Framework SDK 中的 corflags 进行检查。
-
@Alois:谢谢。我没有想到这一点。我的应用程序针对“任何 CPU”。将其更改为 x86 可以使其正确加载。