0

不确定其他人是否有这个问题。

我正在尝试创建一个 Windows 窗体库控件。我需要控件在 x86 环境中运行。所以,我要做的第一件事就是进入项目的属性并将平台目标切换到 x86。

我尝试运行该应用程序,并收到可爱的错误消息,该消息引用了我正在尝试创建的程序集并说明:尝试加载格式不正确的程序。

我没有添加任何引用或任何代码,只是试图在 x86 中创建一个控件。

我正在使用带有 VS2012 的 Windows 7 64 位机器尝试在 .NET 4.5 中编写应用程序。我必须在 x86 中做这个项目,因为我正在使用一些仅 x86 的 OCX。

有没有人遇到过这个?

4

1 回答 1

1

进入项目的属性并将平台目标切换到x86

嗯,这行得通。而不是一个令人困惑的 COM 异常(通常是“类未注册”,这有几个可能的原因),您会得到一个早期的 .NET 异常,告诉您您使用的库错误。

要测试您的库项目,您需要创建一个引用库项目的 EXE 项目。您忘记做的是更改该 EXE 项目的平台目标设置。这很重要,因为只有 EXE 项目才能确定该过程的位数。它是第一个加载的,一个库项目没有发言权。它只能否决选择,BadImageFormatException 就是那个否决。

因此,您还必须将 EXE 项目的平台目标设置更改为 x86。

于 2013-01-31T00:55:12.373 回答