Visual studio 2012 运行时出现BadImageFormat异常
我正试图按照64位Windows 7机器上的说明,以VS 2012为目标,构建FreeSWITCH.NET ESL客户端库,并在我自己的项目中引用构建的DLL。两个库的构建都是成功的,我的项目的构建也是成功的 但是,当我尝试运行我的项目时,我在下面一行得到一个Visual studio 2012 运行时出现BadImageFormat异常,visual-studio-2012,build,64-bit,freeswitch,Visual Studio 2012,Build,64 Bit,Freeswitch,我正试图按照64位Windows 7机器上的说明,以VS 2012为目标,构建FreeSWITCH.NET ESL客户端库,并在我自己的项目中引用构建的DLL。两个库的构建都是成功的,我的项目的构建也是成功的 但是,当我尝试运行我的项目时,我在下面一行得到一个BadImageFormat异常: var conn = new ESLconnection(socketClient.Handle.ToInt32()); 它似乎在尝试使用32位程序集 即使我将主FreeSWITCH库项目和ESL项目的
BadImageFormat
异常:
var conn = new ESLconnection(socketClient.Handle.ToInt32());
它似乎在尝试使用32位程序集
即使我将主FreeSWITCH库项目和ESL项目的构建配置都设置为发布版/x64,并且我的项目的构建配置设置为发布版/任何CPU
我尝试将我的项目设置为发布版,但没有帮助。将项目作为现有项目添加到我的解决方案中,而不是仅引用构建的DLL,也没有帮助
在任何情况下,示例项目(ManagedElTest.2012)都可以正常工作,它的构建配置为Release/AnyCPU,因此这不是问题所在
如何解决此问题?需要取消选中“首选32位”(项目属性->生成)复选框。ManagedESLTest.2012示例项目之所以有效,是因为它的目标是.NET 4,而.NET 4没有此选项