【问题标题】:Loading an Assembly fails because of incorrect format由于格式不正确,加载程序集失败
【发布时间】:2010-10-29 06:28:51
【问题描述】:

我在一个相当大的 Windows 窗体 .net (C#) 应用程序上开发了几个程序集。最初,每个程序集都是为目标平台“任何 CPU”构建的。 由于 x64 机器上的 Crystal Reports 存在问题,我们不得不为 x86 目标平台构建整个项目。我开始为 x86 重建我们的一些项目,它工作得很好。 但是有一个问题是,当我尝试在另一个程序集中将其用作参考时,另一个程序集不会加载它,并给出以下错误:

无法加载文件或程序集#MyAssembly# 或其依赖项之一。试图加载格式不正确的程序。

在包含多个程序集的示例项目中使用 Crystal 玩时,我发现当为不同的目标平台构建项目时会发生此错误。但这里不是这种情况。我为 X86 构建了每个项目,但无法弄清楚问题出在哪里。

【问题讨论】:

  • 如果您的应用程序实际上在 32 位模式下运行,您是否检查过任务管理器?

标签: c# .net assemblies x86 64-bit


【解决方案1】:

您可以尝试使用目标平台“x86”或“x64”构建您的 MainProject(可执行文件),以及您设置为“任何 CPU”的所有其他项目。

【讨论】:

  • 是的,这不起作用。似乎包括为 x86 构建的程序集不能包含在为任何 CPU 构建的应用程序中。 (至少这是我的经验)
  • @Robert Sari:只有带有 Main-Methode 的 MainProject (WindowsForms) 应该使用“x86”编译。所有其他项目(库)应使用“任何 CPU”进行编译。
  • 很抱歉您说的完全正确,我刚刚将它交给测试。非常感谢
猜你喜欢
  • 1970-01-01
  • 2012-05-01
  • 2012-11-02
  • 2010-12-31
  • 2017-06-23
  • 2021-11-11
  • 2012-07-07
相关资源
最近更新 更多