问题标签 [badimageformatexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
188 浏览

c# - 使用 AppDomain.CreateDomain 创建的 AppDomain 上的 BadImageFormatException

我正在尝试追查 BadImageFormatException (Index not found.) 异常的原因。在以下代码的第 2 行抛出异常:

如果我注释掉第二行代码,则第三行成功执行,然后该方法在第四行代码上再次失败,出现相同的异常。

此代码包含在一个静态方法中,该方法位于包含 AppDomain_UnhandledException 和 InitializeRemoteDomain 方法的同一静态类中。解决方案中的所有项目都是使用 x86 标志和 .NET 4.5.1 编译的。该应用程序在我的开发盒(Windows 7 Pro x64)上正常工作,但在生产盒(Windows Embedded Standard x32)上失败。我认为我使用 CreateDomain 方法创建的 AppDomain 将具有与首先调用 CreateDomain 方法的现有 AppDomain 相同的位数。

任何帮助将不胜感激!

0 投票
1 回答
1367 浏览

c# - 部署 x64 ASP.NET Web 应用程序时无法加载程序集错误

我开发了一个仅包含通用 http 处理程序的 ASP.NET Web 应用程序。我开始在 x86 开发机器上使用 IISExpress 进行本地测试,然后部署在 32 位 Windows 2003 Server 和 IIS6.0 上,一切顺利。

我的公司决定更新到 x64 环境以利用一些针对 64 位环境优化的第三方库,因此我们切换到 64 位 Windows Server 2012 R2 标准版,但我遇到了一些麻烦。

在我的本地机器上,现在切换到平台目标设置为 x64 的 x64 开发机器一切顺利,但是在服务器上部署时,我总是得到

System.BadImageFormatException

在主组件上。错误消息的其他部分说程序集管理器是由

C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll

并执行

C:\Windows\SysWOW64\inetsrv\w3wp.exe

由于 SysWOW64 需要在 64 位环境中运行 32 位应用程序,所以生产机器上的 IIS 服务器可能没有启用运行 x64 网络应用程序?如果是这样,我应该怎么做才能克服这个问题,因为我知道我没有直接访问服务器的权限。

谢谢你。

0 投票
0 回答
179 浏览

c# - badimageformatexception 动态代码生成

我正在尝试使用 CSharpCodeProvider 动态生成可执行文件,其唯一目的是从特定的 dll 调用一个方法。当我执行生成的文件时,我得到一个 BadImageFormatException。

我已经将平台设置为 x86。当我手动编写调用该方法的代码并在 Visual Studio 中对其进行调试时,它工作得非常好。

这是可执行文件的代码:

在动态编译代码之前,我通过添加程序集

我将可执行文件写入与 dll 相同的目录。

编辑

这是我用来调用编译器的代码:

0 投票
1 回答
70 浏览

.net - 在 Debug 和 Release 配置中以完全相同的方式构建的应用程序在 Win7 上的 Release 中不起作用:BadImageFormatException

我正在 Win7 x64 机器上开发应用程序。

有一些代码可以调用外部 .dll 文件。.dll 是为 32 位机器构建的。我遇到的问题是在Debug配置中的调试器中运行应用程序时,它工作正常。一旦我切换到Release,任何进入进行 .dll 调用的方法的条目都会失败

两者ReleaseDebug配置都是相同的,并且正在为 x86 构建应用程序。此问题仅发生在 Windows 7 机器上。我们的客户运行 XP 没有问题。诚然,我们没有运行 XP x64 的客户,因此我无法验证这一点。

这是我的解决方案配置的图像:

我的配置

我已将Platform:选项更改为所有可能的组合,但它仍然无法正常工作。配置中是否有一些隐藏的东西Debug

编辑:我想通了,但我真的不明白这个问题。

Build在项目属性中的每个项目选项卡( CompileVB 项目的选项卡)中,我必须设置Target CPU为 x86 而不是 AnyCPU。

也许这是另一个问题,但是:为什么?在每个项目的基础上将整个解决方案的平台设置为 x86 和将目标 CPU 设置为 x86 之间有什么区别。另外,在上图中:那么该Platform字段的目的是什么?

0 投票
1 回答
485 浏览

visual-studio-2010 - I can't build 64x project in Visual Studio

I created a extremely simple solution in visual studio 2010, this solution has:

  • A class library...and a class named "HelloWord"
  • ASP.NET web site project...and one page inside it named "Home.aspx"
  • Home.aspx calls "HelloWord" class

Problem: I have a Win7/64x machine and i want this project to compile as 64x (not Anycpu)...when i try to run i receive this message

System.BadImageFormatException: Could not load file or assembly...

Why?

0 投票
1 回答
141 浏览

c# - 在 PC 上或通过 TFS 构建间歇性 BadImageFormatException 构建“插件”DLL

我有一个应用程序,其中几个程序集与主应用程序分开构建。在运行时,它们位于主 BIN 文件夹之外的文件夹中,并由主应用程序使用 Assembly.LoadFrom 加载。在这些“插件”程序集的 VS 项目中,有对从主应用程序构建的物理程序集的引用。

主应用程序和插件的构建均由 TFS 构建服务器生成。“插件”程序集项目用作引用的程序集通常取自主应用程序的 TFS 构建,但有时它们取自我的 PC 上的构建。

我每天都在这个应用程序上工作,99% 的插件构建工作正常。然后在没有任何明显解释的情况下,主应用程序将无法加载插件程序集,并出现以下错误:

发生这种情况时,我会做很多事情来尝试解决它,但我没有可靠的解决方案。我尝试了以下所有方法,最终问题消失了:

  • 再次运行构建
  • 使用构建服务器构建的新 DLL 更新“插件”程序集项目用作引用的程序集
  • 同上,但在我的 PC 上构建了新的 DLL
  • 重新启动构建服务器
  • 在构建服务器上安装 Windows 更新
  • 回家第二天发现问题没了!

有时,当构建服务器构建的插件显示此问题时,在我的 PC 上构建的构建将起作用。其他时候,两个版本都会显示问题。

到目前为止,主要应用程序和插件解决方案的构建配置都针对“任何 CPU”。今天(似乎有很多 S/O 帖子将此异常与目标处理器架构相关联)我尝试将两者都切换到目标 x64,但这并没有任何区别。

我不知道还能看什么……有什么想法吗?

0 投票
0 回答
219 浏览

win-universal-app - VS2015 Universal APP - 无法加载汇编(badimageformatexception)

在通用应用程序中调用从 nuguet 导入的 System.Threading、System.IO 或 System.ReflectionTypeExtensions 的任何方法时出错,下面有一个示例:

称呼 :

错误:

0 投票
2 回答
371 浏览

javascript - 编译到 x64 并收到 System.BadImageFormatException

我有一个解决方案,其中包含一个 C# 项目“库”和一个项目“JavaScript”,编译后它会生成一个 .winmd 文件,该文件被带到另一个项目。但是这个项目是建立在 x86 上的,我需要为 x64 编译,以运行应用程序,以便 x64 得到以下错误:

0 投票
0 回答
2288 浏览

mono - BadImageFormatException:无法解析字段标记

直到今天,一切都在编译并完美运行。据我所知,我的系统没有任何变化。

突然间,我用 xbuild (mono 4.0.0) 编译的所有东西在运行时都会出现这个错误:

[ERROR] FATAL UNHANDLED EXCEPTION: System.BadImageFormatException: Could not resolve field token 0x040000de

我在 Docker 下的 x64 上编译和运行。

知道如何调试吗?

0 投票
1 回答
172 浏览

random - F# 随机类在调用 .NextDouble() 时抛出 BadImageFormatException

我从一本关于 F# 的书中制作了一个小型应用程序,但是当我调用 rand.NextDouble() 方法时,它会抛出一个 BadImageFormatException,乍一看它似乎与图像有关,所以我不知道我应该做什么在这里做。

我正在使用 Visual F# 2013 使用 VS community 2013。我有 64 位 Windows 7

我知道通过尝试单独的 let 是 nextdouble 方法的问题

这是错误代码:

System.BadImageFormatException 未处理 消息:Asteroid_Field_1.exe 中发生“System.BadImageFormatException”类型的未处理异常附加信息:尝试加载格式不正确的程序。(来自 HRESULT 的异常:0x8007000B)

MSDN 告诉我它可能与未以正确格式加载的 DLL 文件有关,但我什至不知道从哪里开始。

http://pastebin.com/7LhCHr3c

这是完整的代码

我刚刚在 FSI.exe 中尝试过,它在那里工作得很好