Visual Studio System.DllNotFoundException(“无法加载DLL'cbw32.dll'”消息)

时间:2013-10-04 09:34:47

标签: c# visual-studio dll dependency-walker

早上好,

我是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的文件),其中再次出现错误:

  

错误:找到了具有不同CPU类型的模块。   警告:由于延迟加载相关模块中缺少导出功能,至少有一个模块具有未解析的导入。

谷歌搜索这一点带来了很少或根本没有新的东西,除了明白,我在几个DLL中的CPU架构有问题,所以我在这里。我必须再次强调我是C#的新手,所以在这里发生一些新手错误就不足为奇了。不过,这是在Visual Studio中触发错误的代码块:

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,再次没有成功:行为不会改变。

结论,我发现了许多不同的方向,这让我感到困惑。如果有人可以就此启发我,我会非常感激。

0 个答案:

没有答案