0

我正在尝试按照此处在 64 位 Windows 7 机器上的说明构建 FreeSWITCH .NET ESL 客户端库,VS 2012 以 .NET 4.5 为目标,并在我自己的项目中引用构建的 DLL。两个库的构建都是成功的,我的项目的构建也是如此。

但是,当我尝试运行我的项目时,BadImageFormat以下行出现异常:

var conn = new ESLconnection(socketClient.Handle.ToInt32());

似乎它正在尝试使用 32 位程序集。

即使我将主 FreeSWITCH 库项目和 ESL 项目的构建配置都设置为Release / x64,并且我的项目的构建配置设置为Release / AnyCPU

我尝试将我的项目设置为Release / x64,但这没有帮助。将项目作为现有项目添加到我的解决方案中也无济于事,而不仅仅是引用构建的 DLL。

无论如何,确实有效的示例项目(ManagedESLTest.2012)具有Release / AnyCPU的构建配置,所以这不是问题。

我该如何解决这个问题?

4

1 回答 1

0

需要取消选中Prefer 32-bit ( project Properties -> Build) 复选框。ManagedESLTest.2012 示例项目之所以有效,是因为它针对的是没有此选项的 .NET 4。

于 2013-10-10T18:00:44.590 回答