【发布时间】:2016-07-06 14:41:20
【问题描述】:
一年前,我在一个 mp3 项目中使用了 bass.dll。那时我使用的是 Windows 7、32 位。 现在我在另一个项目中,我需要再次使用 bass.dll。这次我使用的是 Windows 8.1,64 位。
Bass_Start() 给了我这个例外以及所有其他功能
An unhandled exception of type 'System.BadImageFormatException' occurred in EZBlocker.exe
Additional information: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B).
我正在使用DllImport 在我的项目中导入这些函数和bass.dll。
[DllImport("bass.dll")]
public static extern bool BASS_Start();
try
{
BASS_Start();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
除了这些 64 位窗口给我带来的数千个错误之外,我还缺少什么?这是我第一次使用 64 位,我真的很后悔...
【问题讨论】:
-
它是什么样的应用程序?您可以在项目设置中将构建设置为 x86 并编译。如果是托管在 IIS 上的 Web 应用程序,您可以在 IIS 中的站点设置中将“启用 32 位应用程序”设置为 true。请参阅此处code217.blogspot.com/2013/08/…
-
查看他们的网站,他们确实支持 64 位。但他们说要确保您使用的是正确的库。因此,也许值得检查您是否拥有最新的 .dll,以便与正确的 .NET 框架一起使用。
标签: c# dll import 32bit-64bit bass