早上好,
我是C#的新手,我必须更新已经开发的应用程序,我打算在其中添加一些新功能。我在Visual Studio 2012中打开它并重建它,显然没有错误。当我运行它时,GUI显示正确,但是当我启动应用程序时出现错误:
MccDaq.dll中出现'System.DllNotFoundException'类型的第一次机会异常 MccDaq.dll中发生了未处理的“System.DllNotFoundException”类型异常 其他信息:无法加载DLL'cbw32.dll':找不到指定的模块。 (HRESULT异常:0x8007007E)
我在最近几天搜索了一个解决方案,但我没有找到任何解决方案。在许多其他人中,我发现这个帖子(Unable to load DLL (Module could not be found HRESULT: 0x8007007E)),遗憾的是我没有运气。事实上,搜索上述DLL(“cbw32.dll”),我无法在我的文件中找到它。另外,正如线程中所指出的,我已经安装了Dependency Walker,并分析了“MccDaq.dll”(发生System.DllNotFoundException的文件),其中再次出现错误:
谷歌搜索这一点带来了很少或根本没有新的东西,除了明白,我在几个DLL中的CPU架构有问题,所以我在这里。我必须再次强调我是C#的新手,所以在这里发生一些新手错误就不足为奇了。不过,这是在Visual Studio中触发错误的代码块:错误:找到了具有不同CPU类型的模块。 警告:由于延迟加载相关模块中缺少导出功能,至少有一个模块具有未解析的导入。
public ErrorInfo StartBoard(MccDaq.ErrorReporting r, MccDaq.ErrorHandling h) {
//only create another object if the configs are different
if((daqBoard == null) || (daqBoard.BoardNum != boardNum)) {
daqError = MccDaq.MccService.ErrHandling(r, h);
daqBoard = new MccDaq.MccBoard(boardNum);
daqError = daqBoard.DConfigPort(portNum, direction);
}
return daqError;
}
这里可能很重要的另一个细节是这个应用程序是在大约4,5年前制作的,所以我的猜测是它必须使用Visual Studio 2008进行编程。关于这一点,我已经改变了,在项目属性中, “目标框架:”到.NET Framework 3.5,再次没有成功:行为不会改变。
结论,我发现了许多不同的方向,这让我感到困惑。如果有人可以就此启发我,我会非常感激。