【发布时间】:2019-11-12 06:56:25
【问题描述】:
我有一个控制台应用程序,我可以使用 C# 和 .Net Core 毫无问题地编译和运行它。此代码利用了一个 DLL,该 DLL 用于执行对另一个应用程序的一些 API 调用。我的任务是创建执行相同操作的 Windows 窗体应用程序,但是当我使用相同的代码并将其添加到我的 Windows 窗体项目时,当我尝试加载它时出现异常:BadImageFormatException
我不知道如何解决这个问题,也不知道为什么会这样。我尝试更改 CPU 设置,但没有任何效果。值得注意的是,console 和 windows 项目在 CPU 类型上的设置是一样的。不同的一点是,当我编译控制台 App 时,项目会形成一个 DLL。我编译 Windows 项目时没有创建这个 DLL。
【问题讨论】:
-
您的应用程序针对哪个平台? x64 还是 x86?您的 DLL 以哪个平台为目标?目标必须匹配。
-
两者都设置为相同,任意。我已经尝试将它们设置为相同的 x86,但这没关系。
-
发现问题在于库是 x64 的,对于控制台应用程序,我如何编译它并不重要,但对于 windows 应用程序,我必须将其设置为 x64。我相信它是 32 位的,因为它是一个旧应用程序,这就是我尝试 x86 的原因。
标签: c# .net windows console-application windows-forms-designer