运行应用程序时找不到引用的DLL
本文关键字:DLL 引用 找不到 应用程序 运行 | 更新日期: 2023-09-27 18:10:45
我在工作中继承了一些代码,遇到了一个奇怪的情况。他们的应用程序是一个多项目解决方案,其中几个解决方案是MS企业库的(代码)片段(不确定是哪个版本)。
他们也有一个现有的c++(非托管)应用程序,其中有一堆dll。其中一个dll是在一个单独的解决方案中构建的,包括64位和32位版本。
主应用程序有一个对这个DLL的引用,并调用几个静态函数(我甚至可以看到智能感知)。我可以编译和构建主应用程序exe,但是当我运行它时,我得到一个异常,这个DLL来自非托管代码(让它称为CPlusPlusCode.dll
)无法找到:
FileNotFound异常未处理:无法加载文件或程序集"CPlusPlusCode.dll"或其依赖项之一。无法找到指定的模块。
我很困惑,因为我可以编译代码,查看导入类的智能感知,并在对象浏览器中挖掘DLL。我甚至确保在'bin'Debug文件夹中有一个副本(尽管我不明白为什么这会有什么不同)。这是一个Windows窗体应用程序
此外,如果它很重要,我有一些与x86和x64有关的不同项目的构建问题;我认为(希望?)这与此无关,但我通过使用配置管理器将所有内容构建为x64来解决这个问题。
检查GAC,如果有必要,您可能需要添加它或在那里注册DLL。
我在一个项目中遇到了这个问题,它在Visual Studio中工作得很好,并且大多数时候在我的机器上本地运行项目。但是由于非托管代码,我需要特别允许项目以正确的权限级别执行。
看一下manifest文件,是否有足够的权限