问题标签 [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.
mono - 将 .dylib 文件与单声道可执行文件捆绑在一起
我有一个应用程序,我想将一个特定的 dylib 与它捆绑在一起。我正在使用“dylibbundler”将 dylib 以及依赖项复制到可执行文件夹中。这是我正在使用的命令:
dylibbundler 与可执行文件位于同一目录中。该工具在库及其所有依赖项上递归运行“install_name_tool”(并将它们复制到指定目录)。在 ./libs/libil.1.dylib 上运行 otool -L 返回:
在我看来,它已经正确地复制了所有内容。但是当我运行我的应用程序时,我不断收到同样的异常:
如您所见,我尝试了 3 种不同的方式来引用该库,但总是找不到它。
任何帮助将不胜感激,几个月来我一直在尝试解决这个问题。
更新: 如果我指定 dylib 的绝对路径,它会找到它,但随后会抱怨依赖关系:
在我看来,@executable_path 并没有被实际的绝对可执行路径取代。
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,但它没有用。
我没主意了。任何帮助表示赞赏。
c# - Mono SQLite 上的 System.DllNotFoundException
我最近一直在想办法解决这个问题。它在我的 Windows 机器上运行,我从 NuGet 获得了 SQLite,但是......
当我将我System.Data.SQLite.dll
的SQLite.Interop.dll
Windows 机器直接放入 Linux 服务器时,它说SQLite.Interop.dll
找不到,但我确信我看到它下一个可执行文件。
然后我尝试用 编译System.Data.SQLite.dll
,/p:UseInteropDll=false
但没有运气。这次它说System.Data.SQLite.dll
没有找到。
这个“未找到”的谜团是什么?
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首先在当前目录中寻找库,所以应该没有问题。
如何让它工作?提前致谢!
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
c# - C# Winforms 应用程序在使用安装项目安装后无法启动
当我在安装项目部署安装后运行快捷方式时,出现以下错误并且应用程序没有启动。
我正在使用 Winforms (C#) 创建一个 Windows 应用程序。我什至在发布模式下编译它,但仍然出现错误。
编辑1:
我正在使用 c#,windows 窗体。
我添加了以下参考:
- 实体框架.dll
- EntityFrameworkServer.dll
- System.Data.Sqlite.dll
- System.Data.Sqlite.EF6.dll
- System.Data.Sqlite.Linq.dll
当我在我的系统本身上进行测试时会发生错误。
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# 网站中工作吗?
谢谢
c# - 捕捉 DllNotFoundException 不起作用
我正在尝试在 PC 上记录连接的扫描仪。
我正在使用来自https://bitbucket.org/soukoku/ntwain
.
如果我在服务器上运行我的应用程序,来自 ntwain 的一些依赖 dll 无法加载,因此我将在运行时加载 dll,如果它失败,我只想返回一个空列表。项目引用中不再引用 NTwain。
问题:如果我在包含 exe 的文件夹中有 NTwain.dll 并且我在服务器上运行它,应用程序就会崩溃。它不会返回一个空列表。如果我删除 dll 并运行应用程序,则会返回空列表。
代码:
c# - 在目标机器上找不到 DLL
我有一个类似的问题。
我已经开发了 ac# 应用程序,它正在调用一个依赖于其他一些 dll 的 dll。在开发机器上它工作正常。即使我将包含所有 dll 和 exe 文件的调试文件夹复制到不同的位置,它也可以正常工作。
当我将同一个文件夹复制到另一台机器时,它给出了 dll not found 异常。
有趣的是,错误消息给出了开发机器上存在的代码文件的路径。不确定目标机器是如何知道这些信息的?
我已经尝试过调试版本和发布版本,但发布版本只是崩溃,并且调试版本给出了异常消息。
我已经尝试了依赖walker,但无法确定是否缺少任何导致错误的依赖dll。
我也尝试安装 VC++ 运行时重新分发包,但没有成功。
我在开发机器上的 Win 7 64bit 上使用 VS2013。目标是 Win 7 64 位。Dll 与 tesseract OCR 相关,并从此处复制。
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 文件夹中,但问题仍然存在,有什么想法吗?