我在运行C#应用程序(WPF,.Net 4.0,Visual Studio 2010)时遇到了问题,它针对x64并使用64位dll(第三方)。C#.Net X64使用64位DLL时的应用程序崩溃
当我使用64位DLL(在64位Win7/WindowsServer2003上)运行64位版本时出现问题。应用程序开始OK。但是当我点击应用程序上的开始按钮时,应用程序创建线程并开始与dll交互,线程会在第一次调用dll函数时崩溃/停止。 当我关闭应用程序时,下面是生成的错误。
问题签名:
问题事件名称:APPCRASH
应用名称:DelayServer.exe
应用程序版本:1.0.0.0
应用程序时间戳:52092104
故障模块名称:KERNELBASE.dll
故障模块版本:6.1.7601.17965
故障模块时间戳:506dcae6
异常代码:e0434352
异常偏移:000000000000bccd
OS版本:6.1.7601.2.1.0.272.7
区域设置ID:2057
其他信息1:7315
其他信息2:
73159f4fb34892aabcc4ba245f14f64e附加信息3:d5ec
附加信息4:
d5ec134b8e354c23783e48c0e2e572da
我明白,这是可能的,如果EXE和DLL之间存在不匹配,即EXE是32位和DLL bei 64位或反之亦然。 附加是我的设置的屏幕截图。我没有找到验证/编辑我的x64平台设置的方法。
x64 Project Build Settings screenshot
我开发的计算机是赢Vista的32位和我已经安装了64位编译器。
我有32位目标应用程序使用32位DLL工作确定在32位comupters。 崩溃发生在我运行64位的DLL 64目标应用64位计算机上
我试过dependencywalker,但我不能进一步expland找到任何相关性。
有人可以帮助我这个。
非常感谢 山姆
所以,你试图在x32机器上构建一个x64应用程序? –
是的。那是错的吗?我相信我正在为x64构建as.I在平台目标中选择了这个,但我不知道如何编辑/验证x64平台的设置。 – SamVen
您给了我们一个编译环境的描述,现在给我们描述一下执行环境。什么版本的Windows是,什么版本的.NET被安装? –