问题标签 [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 投票
2 回答
904 浏览

mono - 将 .dylib 文件与单声道可执行文件捆绑在一起

我有一个应用程序,我想将一个特定的 dylib 与它捆绑在一起。我正在使用“dylibbundler”将 dylib 以及依赖项复制到可执行文件夹中。这是我正在使用的命令:

dylibbundler 与可执行文件位于同一目录中。该工具在库及其所有依赖项上递归运行“install_name_tool”(并将它们复制到指定目录)。在 ./libs/libil.1.dylib 上运行 otool -L 返回:

在我看来,它已经正确地复制了所有内容。但是当我运行我的应用程序时,我不断收到同样的异常:

如您所见,我尝试了 3 种不同的方式来引用该库,但总是找不到它。

任何帮助将不胜感激,几个月来我一直在尝试解决这个问题。

更新: 如果我指定 dylib 的绝对路径,它会找到它,但随后会抱怨依赖关系:

在我看来,@executable_path 并没有被实际的绝对可执行路径取代。

0 投票
1 回答
2983 浏览

macos - 带有 Unity3d Mac OSX Dll 的本机插件 notfoundexception

我正在尝试将 3rd 方原生插件与unity3D 集成。为了使用它,我制作了 ac# 插件作为包装 dll。当我手动将插件二进制文件与我的 EXE 文件一起复制到构建文件夹时,该插件与 PC 独立运行良好。我已经为插件构建过程使用了调试配置。

问题是:

  • 当我构建一个 mac OS X 时,我得到了DllNotFoundException。我的 c# 插件文件与其他与统一相关的插件一起位于位于“\Contents\Data\Managed”的应用程序中,这意味着统一正在识别我的包装器插件,但不复制本机插件。

已经尝试过的事情:

  • 我也在Assets/Plugins/文件夹中复制了本机插件,以便它们也包含在构建中,但统一没有将它们包含在构建中。

  • 我尝试将我的本机插件放在“ \Contents\Data\Managed ”文件夹以及应用程序的其他文件夹中,但仍然无法找到 dll。

  • 我尝试将本机插件附带的 dylib 文件与我的包装器插件一起放入,但它不起作用。

  • 我也尝试在“ \Contents\Data\Managed\etc\mono ”的配置文件中使用 dllmap,但它没有用。

我没主意了。任何帮助表示赞赏。

0 投票
5 回答
10922 浏览

c# - Mono SQLite 上的 System.DllNotFoundException

我最近一直在想办法解决这个问题。它在我的 Windows 机器上运行,我从 NuGet 获得了 SQLite,但是......

当我将我System.Data.SQLite.dllSQLite.Interop.dllWindows 机器直接放入 Linux 服务器时,它说SQLite.Interop.dll找不到,但我确信我看到它下一个可执行文件。

然后我尝试用 编译System.Data.SQLite.dll/p:UseInteropDll=false但没有运气。这次它说System.Data.SQLite.dll没有找到。

这个“未找到”的谜团是什么?

0 投票
2 回答
386 浏览

linux - doc2x linux r649 zlibwapi.dll 未找到

可能这是一个非常愚蠢的错误,但是任何人都可以尝试重现我的步骤并检查错误吗?

我正在使用 Linux Mint 15。我已经从这里下载了 doc2x (binary->openxml msword 转换器):https ://sourceforge.net/project/downloading.php?group_id=216787&filename=doc2x_r649.tar.gz&a=13775724

用 tar -xzf doc2x_r649.tar.gz 解压它

存档包含二进制文件,应该与 Mono 兼容。

我已经安装了单声道 v2.0 和单声道 v4.0 配置文件。

任何进行转换的尝试都会引发错误:

我认为问题出在第一行“ 2/23/2014 9:00:25 PM [D] System.DllNotFoundException: zlibwapi.dll ”。zlibwapi.dll位于转换器的目录中。我试过将它复制到几个位置(通常由图书馆使用)但没有运气。我读过Mono首先在当前目录中寻找库,所以应该没有问题。

如何让它工作?提前致谢!

0 投票
1 回答
2001 浏览

c# - 在 Unity 上使用 EmguCV 的 DllNotFoundException

我正在尝试在 Unity Pro 上使用 EmguCV 的 Capture 类,但每次调用它的构造函数时,都会出现以下错误:

DllNotFoundException: opencv_core249 Emgu.CV.CvInvoke..cctor () Rethrow as TypeInitializationException: Emgu.CV.CvInvoke Emgu.CV.Capture..ctor (Int32 camIndex) 的类型初始化程序引发异常

例如,我已经阅读过要解决 Visual Studio 上的问题,您只需将 opencv_coreXXX 和 opencv_highguiXXX 复制并粘贴到输出文件夹,但此解决方案似乎不适用于 Unity。

问题是 Unity 在正确的文件夹(我放置所有 EmguCV dll 的输出文件夹)中搜索,但似乎没有找到 dll。

要在 Unity 中安装 EmguCV,我只是按照此人在以下链接中描述的步骤操作:http: //forum.unity3d.com/threads/182600-OpenCV- (EMGUCV-wrapper)-integration-in-Unity

0 投票
3 回答
1833 浏览

c# - C# Winforms 应用程序在使用安装项目安装后无法启动

当我在安装项目部署安装后运行快捷方式时,出现以下错误并且应用程序没有启动。

我正在使用 Winforms (C#) 创建一个 Windows 应用程序。我什至在发布模式下编译它,但仍然出现错误。

编辑1:

我正在使用 c#,windows 窗体。

我添加了以下参考:

  1. 实体框架.dll
  2. EntityFrameworkServer.dll
  3. System.Data.Sqlite.dll
  4. System.Data.Sqlite.EF6.dll
  5. System.Data.Sqlite.Linq.dll

当我在我的系统本身上进行测试时会发生错误。

0 投票
1 回答
673 浏览

c# - DllNotFoundException 来自 C# 但不是 VB.NET

我有一个第三方 DLL 可以与他们的应用程序集成。它是一个 32 位 C++ DLL,它不会通过 COM 公开自己,而且我还没有获得源代码或头文件。

它在 WinForms 示例中随工作 VB.NET 示例代码一起提供。只要可执行文件从与 API DLL 和 API 接口的应用程序相同的目录中运行,此方法就可以工作。

我正在使用示例函数声明:

但是,我们将使用来自 C# 库的 API 调用用于网站或 Web 服务,因此我将示例 VB 代码转换为

如果我从 C# 库中调用它,我会收到错误

我采取了另一种方法,将示例中的原始工作 VB 代码放入它自己的 VB.NET DLL 中,并通过 C# 调用它。我得到了同样的错误。奇怪的是,从 VB.NET 控制台应用程序调用 VB.NET DLL 是有效的。

总之:

  • 一个简单的 VB.NET 控制台应用程序就可以工作
  • 一个简单的 VB.NET WinForms 应用程序就可以工作
  • 一个简单的 VB.NET 控制台应用程序可以通过 VB.NET DLL 调用 GetVersion
  • 一个简单的 C# 控制台应用程序无法通过 VB.NET DLL 调用 GetVersion
  • 一个简单的 C# 控制台应用程序不能直接调用 GetVersion。这可能与错误定义函数调用有关。在这个阶段,我并不太担心这个。
  • 32位编译不能解决问题
  • 我在 Server 2008 R2 和 Windows 7 Enterprise 上试过这个

我通过 NT 服务创建了一个 WCF 主机来公开这些功能,希望这可以解决文件位置和依赖关系。这是用 VB.NET 编写的,与 ThirdPartyApi.dll 放在同一文件夹中。

  • NT 服务中的任何代码都不能访问 GetVersion
  • WCF 服务中的任何代码都无法访问 GetVersion

请注意,在上述所有情况下,可执行文件与 ThirdPartyApi.dll 位于同一目录中。它的所有依赖项也存在于此目录中。

任何人都可以解释这种行为,或者建议如何在 C# 网站中工作吗?

谢谢

0 投票
1 回答
887 浏览

c# - 捕捉 DllNotFoundException 不起作用

我正在尝试在 PC 上记录连接的扫描仪。

我正在使用来自https://bitbucket.org/soukoku/ntwain.

如果我在服务器上运行我的应用程序,来自 ntwain 的一些依赖 dll 无法加载,因此我将在运行时加载 dll,如果它失败,我只想返回一个空列表。项目引用中不再引用 NTwain。

问题:如果我在包含 exe 的文件夹中有 NTwain.dll 并且我在服务器上运行它,应用程序就会崩溃。它不会返回一个空列表。如果我删除 dll 并运行应用程序,则会返回空列表。

代码:

0 投票
0 回答
394 浏览

c# - 在目标机器上找不到 DLL

我有一个类似的问题。

我已经开发了 ac# 应用程序,它正在调用一个依赖于其他一些 dll 的 dll。在开发机器上它工作正常。即使我将包含所有 dll 和 exe 文件的调试文件夹复制到不同的位置,它也可以正常工作。

当我将同一个文件夹复制到另一台机器时,它给出了 dll not found 异常。

有趣的是,错误消息给出了开发机器上存在的代码文件的路径。不确定目标机器是如何知道这些信息的?

我已经尝试过调试版本和发布版本,但发布版本只是崩溃,并且调试版本给出了异常消息。

我已经尝试了依赖walker,但无法确定是否缺少任何导致错误的依赖dll。

我也尝试安装 VC++ 运行时重新分发包,但没有成功。

我在开发机器上的 Win 7 64bit 上使用 VS2013。目标是 Win 7 64 位。Dll 与 tesseract OCR 相关,并从此处复制。

0 投票
1 回答
507 浏览

oracle - Unity Oracle 连接 DllNotFoundException: oci

所以基本上我试图在统一和单一开发中访问 Oracle 数据库。我将所需的 DLL System.Data 和 System.Data.OracleClient 从 C:\Program Files (x86)\Unity\Editor\Data\Mono\lib\mono\2.0 复制到项目的 Assets 文件夹中,

这是我的 C# 代码:

然后错误 DllNotFoundException: oci 在执行 conn.Open() 时弹出

完整的错误日志:

此外,我还尝试将 DLL 文件 oci.dll 从 oracleDB_11g 复制到 assets 文件夹中,但问题仍然存在,有什么想法吗?