windows 2003上托管c++dll的FileLoadException
本文关键字:c++dll FileLoadException 2003 windows | 更新日期: 2023-09-27 17:47:48
我的公司与GroupWise和Exchange 5.5/2000+进行了登录集成。Exchange 5.5/GroupWise逻辑是使用wldap32.dll(win32)完成的,因此登录代码位于托管c++类中。当配置工具(或后端服务)试图在我的XP开发盒上加载由这个托管c++项目构建的dll时,它运行良好。在QA/QC客户Windows 2003框中,会引发FileLoadException。
首先,这曾经很好用。其次,我已经验证了我的盒子上的相同工作代码在qa盒子上失败。
如何查找此异常的原因?
您最近是否更改了开发环境?特别是您是否安装了service pack或Visual Studio的新版本?
您似乎正在链接客户端服务器上不可用的C++运行时。您可以使用Windows事件查看器来识别无法加载的DLL,或者如果没有显示任何内容,请使用depends.exe
来查看托管代码的运行时DLL依赖关系。
微软已经转向使用并排安装来处理"DLL地狱",基本上这允许在Windows安装上同时(并排)安装多个版本的DLL,并让应用程序在运行时加载正确版本的DLL。Visual Studio的最新版本使用了这项技术,所以我怀疑这是您"突然"不兼容的原因。
不是为了回答我自己的问题,但支持人员刚刚用这段文字更新了这个bug。我仍然对追踪这种情况的想法感兴趣。
通过下载和安装Visual C++2008 Redistributable解决适用于IMS上的Windows的软件包:http://www.microsoft.com/downloads/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-380b2af5fc2&DisplayLang=en-