c# - 运行时异常 System.BadImageFormatException

标签 c# .net badimageformatexception

请帮忙,我已经尝试了所有我能想到的方法来解决这个问题。

在您回复之前请注意:

我已尽我所能解决 StackOverflow.com 上的其他问题和网络上的其他软件。例如但不限于:将构建配置从“任何 CPU”更改为“x64”甚至更改为“x86”。并且还将目标构建从 .NET 4.0 更改为 .NET 3.5(这不起作用,因为我使用的是需要 .NET 4.0 的 System.Windows.Interactivity)所以我宁愿坚持使用 .NET 4.0。所以请不要给出告诉我这样做的答案,因为我已经尝试过各种组合。


我在 VS2013 中有一个名为 TimersXP 的项目,它是 CodePlex.com 上的一个开源项目: https://timersxp.codeplex.com/

构建没有任何错误,但我遇到了运行时异常: System.BadImageFormatException 未处理 消息:类型为 'System.BadImageFormatException' 的未处理异常发生在未知模块中。 附加信息:无法加载文件或程序集“TimersXP.exe”或其依赖项之一。此程序集由比当前加载的运行时更新的运行时构建,无法加载。

有点历史,该项目最初是 .NET 3.5,但当我发现我必须添加 System.Windows.Interactivity 并且必须支持 .NET 4.0 时,我提高了版本号。

<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries\System.Windows.Interactivity.dll</HintPath>
  <Private>False</Private>
</Reference>

是的,我知道它说的是版本 4.5.0.0。我也尝试了它们的组合。除非我错过了一些与预期不同的组合。

它是开源的,所以项目的所有代码都可用,有人可以帮我吗?恐怕我没有想法。

也许在 App.config 文件中这个版本号?

<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>

我不想遍历所有代码并将它说版本的每个地方都更改为 3.5 或 4.0 或 4.5。这似乎不是一个好主意。

像往常一样,一旦我看到它,我可能想踢自己一脚!

最佳答案

奇怪的是,在我的例子中,我的项目属性已经显示为 4.5.2,但我的 app.config 仍然显示运行时版本为 2.0。我右键单击项目 > 选择项目属性 > 将目标框架更新为 4.5.1,然后更新为 4.5.2。这就成功了,并更新了 app.config 如下:

之前:

<startup>
    <supportedRuntime version="v2.0.50727"/>
  </startup>

之后:

<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>

关于c# - 运行时异常 System.BadImageFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21518948/

相关文章:

c# - mysql 选择像列一样的列1 或列2

c# - 在 C# 中从内存流保存为 jpeg

.net - 自动化 W3C 验证

.net - 的意义是什么 !在代码中?

c# - AspNetCompiler - 尝试加载格式不正确的程序

c# - 运行应用程序时出现错误图像格式异常

c# - 在 C# 中从 rss 提要中提取数据

c# - 自动换行后如何获取富文本内容的高度?

.net - 在 VB.net 中的连接字符串之间添加换行符

c# - TeamCity:GhostscriptSharp:尝试加载格式不正确的程序。 (HRESULT 异常:0x8007000B)