问题标签 [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 投票
3 回答
11269 浏览

c# - BadImageFormatException x64 问题

我发誓微软越“进化”Visual Studio,整个过程就会变得越无知。

我有一个包含 3 个类库的 Windows 服务。我进入每个类库的属性并将平台目标设置为 x64。我对 Windows 服务以及我添加以验证所有内容的测试控制台项目做了同样的事情。

我可以在我的 Windows 2008 R2 x64 服务器上毫无问题地运行控制台应用程序,但愚蠢的安装程序一直在轰炸并告诉我我的图像不好。我确实确保已将安装程序的目标平台设置为 x64。

我不知道这个愚蠢的东西会爆炸,并且真的很感激任何见解。我确实引用了其他 DLL,那些可能是 x86,但我认为如果主库设置正确,那么一切都会正常工作......

0 投票
1 回答
65 浏览

service - NT 服务 BadImageFormat,但在表单应用程序下工作

我们有一个遗留表单应用程序,它运行一堆 32 位 C++ 代码以及托管代码,其中大部分是 x86 构建的(但不是全部)。表单应用程序工作正常。我们正在将功能/代码移植到 Windows 服务中。该服务在尝试执行特定代码路径时抛出错误的图像格式异常。

我们无权访问所有托管代码构建。

关于如何解决这个问题的任何建议。

提前感谢账单

0 投票
2 回答
1751 浏览

c# - 托管 C# 应用程序需要 64 位 SQLite DLL

我正在尝试将 SQLite 嵌入到我的便携式 C# .NET 2.0 应用程序中,而不是将 DLL 文件包含在分发文件夹中。但是,要嵌入 SQLite,我不能使用 PHXSoftware 提供的混合模式库。相反,我使用的是他们的“仅限托管”版本。

这在 32 位计算机上运行良好,但是当它在 64 位计算机上运行时,它会引发格式异常。正如我从这里发现的那样:http : //sqlite.phxsoftware.com/forums/p/2564/9939.aspx 在使用托管库之前,我需要先以所需的体系结构格式手动加载非托管 sqlite3.dll。

这就是我的不足之处。我找不到 64 位版本的 SQLite 与 32 位版本一起包含。任何人都可以帮忙吗?我敢说,有没有人有更好的想法?

0 投票
2 回答
1834 浏览

c# - 我收到 System.BadImageFormatException :运行单元测试时操作系统无法运行异常

我正在开发一个 Winforms 项目。目前我面临一个运行一些测试用例抛出的问题

例外。仅当我通过 NUnit 运行测试时才会发生这种情况。但是,如果我通过代码运行应用程序,它工作正常。

应用程序中正在使用远程处理。这会是个问题吗?

0 投票
1 回答
1335 浏览

c# - BadImageFormatException in a service

I have an application that is a long running service, I recently re-wrote it to use plugins and appdomains to solve a memory issue which turned out not to be mine but a leak in Microsoft's DirectoryServices namespace not properly disposing stuff. After my re-write I can no tlonger run the application as a service though it runs fine in console mode. When attempting to start the application I get the following exception in the windows event log:

I have searched on here and seen many threads about the bit-ness of the application and possible mis-matches between the application and associated DLLs/assemblies. I have checked everything, tried targeting specific platforms etc, nothing seems to work. My dev platform is 64bit Windows 7, target is Windows 2008 64bit. My application is set to x86, my assemplies are anycpu though I have tried setting them too x86, x64 etc. I am using log4net in one of my DLL's but don't think that's the issue.

Any help would be appreciated!

0 投票
2 回答
2945 浏览

.net - BadFormatException 安装 64 位服务

.NET 4.0、Windows 7、VS 2010:

尝试使用安装项目安装 64 位服务会导致错误 1001。初始化安装时发生异常:System.BadImageFormatException。

安装项目是使用这个创建的。我还按照此处的说明将目标平台设置为 64 位。

如果我将服务平台切换到 32 位,一切正常。

你知道如何解决这个 System.BadImageFormatException 异常吗?

0 投票
1 回答
782 浏览

windows - 安装服务时出现 System.BadImageFormatException

我已经使用 exe4j 创建了一个 exe(选择创建一个服务)我正在使用 v2.0 .net 框架库运行 installutil

我得到

该模块应包含程序集清单 - badimageformatexception

我该如何解决这个问题?谢谢。

0 投票
3 回答
795 浏览

32bit-64bit - Gallio 64 位平台和 32 位 dll 声纳和 OpenCover BadImageException

我们使用 Gallio 进行测试执行。所有被测项目和所有测试项目均编译为 32 位版本。Buildserver 是 Win2008 R2 64bit。Gallio 安装为 32 位版本。加里奥是通过声纳启动的。作为coverageTool,我们使用OpenCover。正如标题所说,BadImageFormat 异常是问题所在。然后尝试运行,使用 .Net\Framework64\ 文件夹。但所有目标都设置为 32 位架构。经过两天的测试和研究,我尝试了不同的 Gallio 版本: 32 位安装程序 64 位安装程序 Gallio Bundle Zip 我试图将 Gallio.Host.x86.exe 重命名为 Gallio.Host.exe 我试图通过 CorFlags 强制 Gallio 在 32 位模式下运行Galio.Echo.exe /32BIT+ /FORCE (使用 /FORCE 将使该图像的签名无效,并要求组件退出)

有没有人知道我做错了什么?

0 投票
29 回答
561772 浏览

c# - 无法加载文件或程序集...尝试加载格式不正确的程序 (System.BadImageFormatException)

我有两个项目,ProjectAProjectB. ProjectB是一个控制台应用程序,它依赖于ProjectA. 昨天,一切正常,但今天当我跑步时突然发现ProjectB

BadImageFormatException 未处理
无法加载文件或程序集“ProjectA,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。试图加载格式不正确的程序。

两者都只是常规项目,不依赖于任何其他非 .Net 项目。两者都是完全的 .Net - 没有本机代码,也没有 P/Invoke。我还有其他项目依赖ProjectA并且仍然可以正常工作。

我尝试过的事情:

  • 确保两个项目都设置为“任何 CPU”,并选中构建复选框。他们是。
  • 确保两个项目都用于相同的目标框架(.Net 4.0 客户端配置文件)
  • 在 ProjectB --> References --> ProjectA --> Properties 下,确保“Copy Local”设置为“True” _ (我验证 ProjectA.dll 被正确复制)
  • 清理/重建解决方案。我什至尝试手动删除两个项目中的 /bin 和 /obj 文件夹。
  • 重新启动 Visual Studio。重新启动我的电脑。
  • 查看存储库的全新副本。

但我仍然得到同样的错误。我不知道我做了什么导致这个,也不知道如何解决它。有任何想法吗?

0 投票
1 回答
465 浏览

c# - SQL Server CE BadImageFormat

我已经搜索了数周来寻找解决方案,但到目前为止还没有找到任何东西。我正在使用本地数据库来存储 ZipCode 和 AreaCode 信息。这工作正常,加载正确,从数据库读取并在开发机器之外的每台计算机上显示结果。BadImageFormat我已将它部署到多台其他计算机上,一切正常,但在开发机器上,当我尝试从数据库中读取时,它返回异常。

我已经在我的桌面(开发机器)和我妻子的笔记本电脑(它可以正常工作)上浏览了“添加/删除程序”屏幕。就有关 SQL、SQL Server CE、ADO.Net、Visual Studio 等的任何内容而言,已安装程序的两个列表都是相同的。我有 .exe 文件中包含的 dll 文件,因此它们使用相同的版本。

在某一时刻,这确实在开发机器上工作,然后我想我卸载了一些东西,它破坏了它。从那以后,我安装了 Windows 7 的新副本和 VS 的新副本(硬盘升级的 b/c,不是因为这个问题)。它仍然不起作用。该数据库采用 SQL Server CE 3.5 格式。

我几乎可以保证这不是连接字符串问题,因为这不会改变机器之间的关系。老实说,我什至不会担心它,除了我需要添加/调整数据库,而且我偏执地更改其中的任何内容都会在其他机器上破坏它,这是不可接受的。

有人能想到我可能遗漏的任何东西吗?

更新:

在具有讽刺意味的伟大时刻之一,发布这个问题后,我突然想到。我可以指出两者之间的一个区别是,在开发机器上,我只是从 VS 或 Projects\Bin 文件夹运行它。在其他上,我将 exe 和 dll 从 CD 复制到一个文件夹中。所以考虑到这一点,我在 Dev 计算机的桌面上创建了一个文件夹,以与我在其他机器上测试相同的方式复制,一切正常。所以我认为这是文件夹权限问题或类似问题。我尝试将 Bin 文件夹更改为非只读,但仍然从调试它不起作用。

有没有已知的方法来纠正这个问题?