问题标签 [dllnotfoundexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
417 浏览

c# - 当我在我的 Dll 中使用 glut 函数时出现 DllNotFound 异常

我有一个 c++ dll 和 c# 应用程序。在 C# 应用程序中,我从 dll 调用函数。具有简单的功能,例如:

一切正常。当我像这样使用带有 glut 的函数时:

我得到 DllNotFound 异常。为什么?C#代码:

0 投票
2 回答
8742 浏览

c++ - DLL 存在时的 System.DLLNotFoundException

当我们在程序中加载一个引发以下错误的 DLL 时,我收到以下错误:

这对我来说没有意义,因为 DLL 存在并且每次我们更改代码时都会内置到我们的安装程序中。这个 DLL 几个月来没有改变,这只是在大约一周前从我们新安装的副本开始发生的。有任何想法吗?有问题的项目是从 .NET 3.5 应用程序调用的非托管 C++ 项目。

0 投票
1 回答
3399 浏览

.net - 未报告缺少 DLL 时如何调试 System.DllNotFoundException?

我正在维护一个在 .NET shell 中加载 GeckoFX webview 的小型 .NET 应用程序。它适用于绝大多数机器,但在一台特定的 64 位 Windows 7 机器上,它会报告以下异常:

我尝试使用 Dependency Walker 来定位丢失的 DLL,但没有任何反应。我对 Windows 编程很陌生,所以我不确定从哪里开始调试它。任何建议表示赞赏!

0 投票
2 回答
4214 浏览

c# - 当前文件夹中 .dll 的 DllNotFoundException

每当我的应用程序尝试使用 DLL 中存在的函数时,我都会收到与可执行文件位于同一文件夹中的 .dll 的 System.DllNotFoundException。奇怪的是它只发生在一个用户的 PC 上。它在我的开发 PC 上运行良好,并且在我尝试过的一台非开发 PC 上运行良好。此外,文件夹中还有其他 DLL被正确找到和使用。有问题的 DLL 是一个本机库,我的应用程序通过另一个 DLL 引用它,该 DLL 是本机库的 ac# 包装器。

我最初的直觉是,这个 DLL 必须引用一些其他库,而这些库在有问题的 PC 上不存在,但我无法想象这台 PC 可能缺少其他非开发 PC 所具有的库。

所以我的问题是:有没有办法确定给定 DLL 文件的依赖关系?请记住,有问题的 DLL 是本机库(即不是托管代码),我无权访问它的源代码。如果事实证明没有缺少依赖项,还有什么可能导致这样的问题?

0 投票
1 回答
529 浏览

macos - MonoMac 平台与框架互操作

我有使用 DllImport 属性与非托管程序集对话的代码。在 OS X 中,此程序集作为框架安装。

但是,这会在 Mono 中引发 DllNotFoundException,大概是因为它无法解析框架。

我查看了 Mono 文档:http ://www.mono-project.com/Interop_with_Native_Libraries

他们有这个小块:

Mac OS X 平台有一个 lib 前缀和一个 .dylib 后缀,除非它们是一个框架,在这种情况下它们是一个目录并且事情变得更加复杂。

但是它们不包含任何关于如果它目录我应该做什么的信息(据我所知)。有人有这样做的经验吗?

0 投票
1 回答
1097 浏览

c# - DLLNotFoundException 找不到指定的模块

我使用比利时身份证 SDK 从身份证读取数据。SDK 包含 2 个组件:接口 dll 和包装器 dll。

在VS2010中,我可以引用接口dll,但不能引用包装器dll,所以我手动将它放在bin文件夹中。当我将我的应用程序迁移到本地主机上的另一台电脑时,它无法找到包装 dll。

即使我(在第二台电脑上):

-安装了sdk。

-将包装器dll放入bin文件夹和system32文件夹

在 Visual Studio 中,接口 dll 的属性中,我将“复制本地”设置为 true。

我能做些什么?

0 投票
2 回答
529 浏览

vb.net - 如何根据平台加载DLL

我有一个 32 位和 64 位的 dll,现在我希望我的 exe 根据解决方案平台调用 dll,这意味着当设置 x64 时,64 位的 dll 将调用。为此,我声明了一个函数 GetPlatform()。

当表单加载时,这个 var1 被分配给 var 最后。

但是当我调试代码“DllNotFoundException”时,就会出现。 注意: dll 在 vc++ 中。

0 投票
2 回答
3690 浏览

opencv - OpenCvSharp 抛出 DllNotFoundException

我有与此处介绍的类似问题,但使用 opencv_imgproc231.dll (在我的情况下正确加载了 opencv_core231.dll)。

我安装了 OpenCV 2.3.1 并将环境变量 PATH 设置为“vc9\bin”文件夹中的文件夹。我将所有 OpenCvSharp dll 添加到引用中。当我运行我的 c# 程序时,它会正确加载 opencv_core231.dll,但 opencv_imgproc231.dll 无法找到(与所有 opencv dll 位于同一目录中)。我尝试将 opencv dll 复制到可执行文件所在的文件夹,但它显示了相同的错误。

我做了他所做的一切——C++ red。盒。2008、2010SP1,设置路径,将 openCV dll 复制到可执行文件所在的文件夹 - 但没有任何效果,opencv_imgproc231.dll 仍然存在 DllNotFoundException。

我有 VS2008 和 Windows 7 32 位。我的程序只包含一行:“IplImage image = new IplImage(128, 128, BitDepth.U8, 1);”。

感谢您的任何建议。

帕维尔。

0 投票
1 回答
2299 浏览

xcode - 从 C# 调用纯 C 函数时,首先是 DllNotFoundException,然后是 EntryPointNotFoundException

我正在尝试在 Unity3D pro 中使用一些 C 代码。

我的基本方法是(1)将 C 源代码构建到静态库中(2)创建一个空包并链接到库(3)将包导入 Unity 3D pro(作为插件)。

我基本上是按照这个教程

它已经为我工作了一段时间,直到最近当我更新我的 C 代码并重新编译和重建库和包时,一切都出错了......

当我第一次导入包时,我得到了一个DllNotFoundException

在那个阶段,我的捆绑项目只是一堆库——从我的源代码(这是一个 .a 文件)构建的库和我认为 .a 库依赖的一些其他库(其他库具有 .dylib 扩展名)。

我在包中添加了一个 test.c 文件。测试 .c 文件仅包含两行:

其中 ccn.h 是我的 C 源代码中的头文件。

重新构建捆绑包后,DllNotFoundExeption消失了,但我得到了一个EntryPointNotFoundException

这是我的想法:

  1. 因为 Xcode 非常智能,我猜测在添加简单的 test.c 文件时,Xcode 为我修改了一些捆绑设置。我相信这就是为什么 DllNotFoundException 首先消失的原因。我想对了吗?
  2. 我认为要解决 EntryPointNotFound 问题,我还必须修改一些捆绑项目设置 - 但我不知道如何......请帮助我......

非常感谢!

编辑

  1. 我看到这个线程表明,由于 Xcode 使用 g++ 进行编译,即使我的非托管代码是纯 C 语言,我也需要 extern "C"。我在 Xcode4 中将目标设置更改为“ Compiler for C/C++/Objective-C ”从Apple LLVM 3.0LLVM GCC 4.2,但我仍然遇到同样的异常。
  2. 我还看到了这个 mono 文档,它说 mono 正在使用GLib加载库,而 Glib 在 Mac OS X 上存在一个错误,即它无法识别 .dylib 库。我删除了 .dylib 库并再次尝试,但直到遇到同样的异常。
  3. Apple 的文档还说,每个可加载包都必须有一个主体类,如果用户没有指定哪个类是主体类,NSBundle 将使用 Xcode 项目中显示的第一个类作为主体类。好吧,我猜我创建的包是一个可加载包,但是因为它只是一个用 C 构建的静态库,它实际上没有任何类。当我查看项目的info.plist时,主体类条目只是空的。这可能是问题吗?如果是这样,我该如何解决?
  4. 我还在 Apple 的文档中看到了一些我不太理解的内容:

    如果您的可加载包是一个插件,宿主应用程序开发人员通常会为框架中的插件架构提供一个接口。该框架通常包含一个所有插件主体类都继承自的类,或插件主体类采用的协议(正式或非正式)。

    我很确定我创建的可加载包是一个插件。我正在将包导入 Unity3D。这是否意味着我应该从 Unity 定义一个主体类?如何?

0 投票
2 回答
29481 浏览

c# - 加载 64 位 dll 时出现 HRESULT 0x8007007E 的 DllNotFoundException

我下载了zlib并将库编译为 Windows 32 位和 Windows 64 位 dll。我现在有zlibwapi.dllzlibwapi64.dll

dll 被复制到我的应用程序文件夹中,引用如下:

在运行时,我检查我是 32 位还是 64 位,并调用适当的版本。

如果我是 32 位,这可以正常工作,但 64 位版本提供

无法加载 DLL“zlibwapi64.dll”:找不到模块。(HRESULT 异常:0x8007007E)

我在网上找到了很多类似的问题,建议的原因是该库依赖于其他一些库,并且可能找不到那些库。
情况似乎并非如此:

  • zlibwapi64.dll 仅依赖于 Kernel32.dll 和 MSVCR90.dll。我确实安装了 32 位和 64 位的 VS2008 C++ 运行时。
  • 当我尝试从非托管 C++ 应用程序加载 zlibwapi64.dll 时,它加载没有问题。是 C# 无法加载它。

我尝试设置 64 位 dll 的绝对路径,但没有帮助。

我如何使它工作?