Windows窗体控件库x86无法正常工作?

时间:2013-01-31 00:44:00

标签: visual-studio-2012 x86

不确定是否有其他人遇到此问题。

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

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

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

我正在使用带有VS2012的Windows 7 64位机器试图在.NET 4.5中编写应用程序。我必须在x86中执行该项目,因为我使用的是一些仅限x86的OCX。

有没有人碰到这个?

1 个答案:

答案 0 :(得分:1)

  

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

嗯,那很有效。而不是一个令人困惑的COM异常(通常是“Class not registered”,有几个可能的原因),你得到一个早期的.NET异常,告诉你你错误地使用了库。

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

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