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

mono - 单声道 p/invoke 给出“未定义的符号 __dso_handle”

我在本文之后将 .so 添加到 LDConfig 。仍然得到以下内容。您可以在此处获取代码的源代码。这是二进制文件启动时的日志。

我完全被难住了。关于出了什么问题的任何想法?

仅供参考,我正在调用以下 C# 代码:

最后,我使用以下构建命令来构建 39dll-4-linux 项目:

为每个 .cpp 文件执行:

然后我执行:

0 投票
1 回答
3755 浏览

android - Unity3d Android 插件问题

我在尝试从 Unity Android 播放器访问我的共享库时收到 DllNotFoundException。我将 .so 文件放在文章HERE告诉我的 Assets->Plugins->Android 文件夹中。我运行 adb logcat 并查看了日志,这是错误的片段:

我提取了构建的 APK,winsocklib.so 文件位于 lib\armeabi-v7a 文件夹中。它拼写正确。我什至尝试将 lib 附加到文件名但无济于事。

这是仅用于附加上下文的 C# 代码:

我还将其简化为:

此外,我制作了一个副本并将其放在 Assets->Plugins 中。我还尝试在不更改 c# 代码的情况下将两者都重命名为 libwinsocklib。还是一样的例外。

有没有人有任何想法?任何人都可以说明情况吗?

0 投票
3 回答
1727 浏览

c# - sqlite3 未找到,但已作为参考添加

System.DllNotFoundException 未处理消息=无法加载 DLL 'sqlite3':找不到指定的模块。

我已经引用了 DLL。我在 Debug 文件夹中检查它,它就在那里。我还搜索了如何在项目中“包含”它,但他们没有具体解释如何去做。

我正在关注这个例子: http: //www.codeproject.com/Articles/22165/Using-SQLite-in-your-C-Application

0 投票
3 回答
1140 浏览

c# - DllNotFoundException: libzmq

我正在尝试使用 ZeroMQ C#-binding ( http://www.zeromq.org/bindings:clr ) 与我在 Unity 中创建的游戏的服务器通信(我使用的是 Mac OS X 10.8)。因此,我创建了一个连接到服务器、发送消息然后接收消息的简单函数:

我按照说明在我的项目中包含了必要的库,并在 monoDevelop 中添加了对这些库的引用。但是在程序构建时,当我尝试运行程序时仍然出现以下错误:

有没有人有什么建议?

0 投票
4 回答
7812 浏览

c# - 使用 DllImport 将非托管 dll 加载到托管应用程序中

在我的项目中,我有一个非托管的本机 C++ dll 和一个 C# 应用程序。我正在尝试使用 DllImport 从非托管 dll 导入一个函数,但我不断收到 DllNotFoundException。

这是我调用 DLL 的代码。

我尝试将 DLL 复制到应用程序输出目录,但仍然找不到。我也尝试添加 DLL 项目作为参考,但我得到一个弹出窗口,说它无法添加。如何正确地将未管理的 DLL 链接到托管应用程序?

更新- 这是完整的错误:

更新 2 - 我确定 DLL 与尝试加载它的 .exe 位于同一目录中。这让我认为 DLL 中存在未加载的依赖项。我只在 DLL 中使用基本的 C++ 库(字符串、数学、iostream 等)。有什么想法无法加载,为什么?

更新 3 - 使用 Dependency Walker 测试在依赖 Walker 中加载我的非托管 C++ DLL 未显示任何错误。我还尝试在依赖项步行器中打开我的可执行文件,它显示加载两个 DLL 时出错:GPSVC.DLL 和 IESHIMS.DLL - 没有任何意义,因为我只在我的代码中使用标准 c++ 库。我认为这可能与我有一个托管 C++/CLI DLL 试图加载非托管 DLL 的事实有关(我试图实现一些 C++/CLI 包装器)。无论如何,我已经开始了一个新的 VS 解决方案并继续前进。看我的回答。

0 投票
1 回答
760 浏览

c# - 使用 DLLImport 时应该将 dll 文件放在哪里?

我知道在 windows 窗体中,您只需将文件放在 Debug 文件夹中,但在 monodev for android 中似乎完全不同。我已经尝试从资产文件夹中放置文件,添加参考路径,从项目设置中设置参考文件夹等,但我仍然没有任何运气。我总是得到一个DLLNotFoundException.

另外,下面是导入dll文件的代码

0 投票
1 回答
483 浏览

vb.net - VS 中添加的引用未被识别

我正在使用 .NET Framework 3.0 和 Visual Studio 2012 制作 VB.NET 安装程序。要解压缩安装程序获得的文件,我正在使用ICSharpCode.SharpZipLib.Zip

当 .ZIP 文件下载并尝试解压缩时,我收到一条错误消息,指出找不到 SharpZipLib 的 DLL 文件:

但是,当在 VS2012 上以调试模式运行时,它工作得非常好。这是怎么回事?

0 投票
0 回答
614 浏览

sql-server - dll 在 Windows 2012 上未找到异常 Microsoft.SqlServer.BatchParser.dll,用于 Sql Server 2012

我正在开发前端 VS2010 C# 4.0,后端 MS Sql Server 2012。操作系统 - Windows Server 2012。

我收到此错误消息。无法加载文件或程序集“Microsoft.SqlServer.BatchParser,Version=10.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”或其依赖项之一。该系统找不到指定的文件。

这个错误的原因是因为操作系统是 64 位的,而 BatchParser.dll 是 32 位的。我找到了 sql server 2005 和 2008 的解决方案,但是当我要安装升级时,它会给出消息“已安装更高版本。”。如果提供的修复程序不适用于 Sql 2012,请在 Sql Server 2012 上提出此问题的解决方案。

0 投票
3 回答
1929 浏览

c# - 树莓派上的单声道在共享对象 (.so) 文件的 DLLImport 处引发 DLLNotFoundException

我目前正在使用树莓派 (B) 上的单声道运行时。我使用适用于 Windows 桌面的 Visual Studio Express 2012。我基本上想要实现的是将一系列图片从网络摄像头(Logitech C270)保存到 .jpg 文件中。

我找到了一个似乎正是我需要的项目: http ://www.raspberry-sharp.org/romain-flechner/2012/10/projects/use-a-webcam-plugged-in-a-raspberry-pi -with-mono-in-c-using-raspberrycam/ 所以我通过 NuGet 将它安装到我的项目中并复制了代码示例:

正如项目页面上的说明中所写,我将 RaspberryCam.so 复制到 /lib 目录中(我也将它复制到 /Lib )。然后我将构建的文件(my.exe、RaspberryCam.dll)下载到我的 Raspberry PI 中。

现在这是我的问题:每当我尝试使用单声道执行我的程序时,我都会得到 RaspberryCam.so 的 DllNotFoundException。

我将我的项目路径添加到 /etc/ld.so.conf 并运行 ldconfig 但这没有帮助。

我还尝试在调试模式下运行单声道(MONO_LOG_LEVEL="debug" MONO_LOG_MASK="dll" mono /var/www/my.exe),它似乎正在搜索“libRaspberryCam.so”,所以我复制了 /lib/Cam .so 到 /lib/libRaspberryCam.so,但这也没有改变任何东西。

顺便说一句,我将 .so 文件的访问权限更改为 755(读取、写入、root 用户执行和世界用户读取、执行)。

老实说,我对 DLL-Import 的东西不太了解,所以我可能只是在这里犯了一些愚蠢的错误。但是我上周已经在 raspberrycam 项目页面上写了一条评论,但我还没有得到任何答案。

谁能帮我解决这个问题?

谢谢多米尼克

编辑:实际 DLLImport 的代码来自 Raspberrycam 项目“RaspberryCamInterop.cs”:

编辑 2:软浮动喘息似乎有些问题。我现在已经安装了标准的硬浮动 raspbian(正如它在项目页面的指南中所写:http ://www.raspberry-sharp.org/eric-bezine/2012/10/mono-framework/installing-mono -raspberry-pi/ ) 并且它有效,它不是特别快,但它确实保存了一张图片。我觉得他们使用硬浮点 raspbian 图像有点恼人,即使 mono 与 ARM 硬浮点 abi 不兼容。在 mono 安装指南中,他们也没有提到任何硬浮动补丁,我什至在 RaspberryCam 项目的源代码中找到了一些解决方法,因此他们确实注意到了与在硬浮动 abi 上运行 mono 相关的错误。

来自“PicturesCache.cs”的片段

但是,我将坚持使用 soft-float wheezy,并使用一个名为 uvccapture 的工具与一些 shell 脚本协作来完成这项工作。

然而,我仍然感谢您的任何建议或解决方案。

0 投票
3 回答
2624 浏览

c# - 在包含外部库的文件夹之外运行 C# 可执行文件

我有一个 C# 程序,它使用我从 Internet 下载的外部开源库,特别是 openxml 来创建 excel 文件。现在我想在没有安装这个库的计算机上运行我的可执行文件。

我已经知道我可以让视觉工作室通过将复制本地属性设置为 true 来在调试或发布文件夹中制作库的副本,我正在这样做。

问题是现在可执行文件可以在其他计算机上运行并生成excel文件,但可执行文件必须在保存库的调试或发布文件夹中运行。

当我尝试复制可执行文件并在文件夹外运行它时,会抛出一个异常,告诉我找不到库,如何在文件夹外运行可执行文件时让它找到库?

谢谢,

-杰克