新手学习 C# 常见错误_调用第三方动态库 dll 把Halcon运行目录添加到系统环境变量中 ( windows系统环境支持都需要在PATH目录 ) ,因为这个Halcon运行目录里面还有很多视觉采集相关的 dll 库需要依赖,特别是很多人写halcon的相机采集的时候,其实整个目录里面的 dll 都是需要依赖的,也就是halcon运行库Runtime,所以上面那种简单 解决 方法是不能有效 解决 其他halcon动态库的使用需求的,你要拷贝好多依赖,把整个halcon运行目录bin都拷贝到 system 32下面去?然后再去B电脑上搜索halco . dll ,没有 找 到。

编写的一个C#工程,其中调用了一个Dll,该Dll使用C++编写。在某台机子上运行正常,使用的是VS2015。换到另一台机子上VS2017,无法运行,遇到了多个问题,逐一说明。

  1. 问题1 :工具集问题

换到另外一台机子上,安装的VS2017,打开工程后,发现错误:
MSB8020:提示。
无法找到 v140 的生成工具(平台工具集 =“v140”)。若要使用 v140 生成工具进行生成,请安装 v140 生成工具。或者,可以升级到当前 Visual Studio 工具,方式是通过选择“项目”菜单或右键单击该解决方案,然后选择“重定解决方案目标”。
该问题原因主要为平台工具集(这个貌似只针对Vc++的),VS2015和VS2017的差别,二者使用了不同的工具集,具体的介绍见: vs平台工具集

有两种解决方案:
(1)安装VS2015或者其平台工具集,
(2)可以升级到当前 Visual Studio 工具,方式是通过选择“项目”菜单或右键单击该解决方案,然后选择“重定解决方案目标”.如下图所示升级:
在这里插入图片描述

  1. 问题2:System.DllNotFoundException
    解决之路无法加载DLL“xxxx”:找不到指定的模块(异常来自HRESULT:0X8007007E)

于是我升级了,编译通过。但是升级后,原来的C#工程调用该Dll时出现了,无法找到的错误,System.DllNotFoundException 解决之路无法加载DLL“xxxx”:找不到指定的模块(异常来自HRESULT:0X8007007E)。
于是我想是不是我的C#工程没跟着更新啊,(ps:我的C# 用的是.Net Framework 4.6.1)于是找啊找,发现VS2015和2017使用的是同一个版本的。应该不是这个问题。
于是,在网上找答案,找到了一个依赖分析工具,可以分析出缺少的DLL,于是找到这个网站下载了该工具,使用后,分析。下载网站:
http://dependencywalker.com/

一开始分析,发现我的c++程序,(调用OpenCV),缺少OPENCV_WORLD341D.DLL。于是首先找OpenCV的引用问题,于是找到了一个比较全的介绍的,在这里:[Opencv学习笔记1:安装opencv和VS2015并进行环境配置].( https://www.cnblogs.com/aiguona/p/9370433.html ). 发现自己少了一个Path的bin路径,我的配置的是D:\Tool\opencv\build\x64\vc15\bin.之后再分析,不缺少该文件了,但是还缺少一些其他的文件,有一堆,感觉是很多系统的文件,于是又陷入沉思…

  1. 问题3:System.BadImageFormatException异常

反过头来,感觉应该是我之前的C#工程的问题,于是我新建了一个C#工程调用那个该Dll,分别使用了.NetFrameWork和普通的控制台程序,这两个调用后者没反应,前者却报出了问题System.BadImageFormatException。
于是,网上搜索到了这个文章: C# System.BadImageFormatException 解决方法 经过一番研究后,感觉问题应该是这个:引用dll文件的系统平台不一致,程序中引用外部dll文件的目标平台的版本x86和x64不一致。
这个在之前的dll调用时看到过,今天算是又看了,于是回过头来看我的Dll程序和我那个C#程序,一看,果然二者不同。Dll是Debug,X64,C#是Debug AnyCpu,于是把后者也换作Debug X64,再次编译跑,问题解决!!!
感觉,AnyCpu的选项不确定,有可能是X86,也可能是X64,必须明确二者一致,调用Dll才没问题!!
更改后的两个见下图,红框的。还有些是AnyCpu的,以后慢慢改吧。
在这里插入图片描述

(1)OpenCv的环境配置见说明[Opencv学习笔记1:安装opencv和VS2015并进行环境配置].( https://www.cnblogs.com/aiguona/p/9370433.html )
(2)Dll调用一定注意编译的目标环境,两个Debug,Release,和X86,X64,AnyCpu都是有区别的!!感觉,AnyCpu的选项不确定,有可能是X86,也可能是X64,必须明确二者一致,调用Dll才没问题!!
(3)鉴于以上情况,同一个Solution下的应该一致,都在一个里面运行嘛!

dotnet8 跨平台图形处理:SkiaSharp在Linux部署中的常见问题与 解决 方案 本文针对在Linux环境下部署使用SkiaSharp的 . NET 8图形处理应用,详细解析了库 加载 失败和字体缺失两大核心问题的根源。文章提供了引入特定Linux原生资产包、安装系统字体等具体 解决 方案,并给出了完整的Dockerfile示例与调试指南,帮助开发者实现稳定可靠的跨平台图形处理。

正确 解决 “ System . DllNotFoundException 解决 之路 无法 加载 DLL “xxx . dll ” ” 异常 的有效 解决 方法

正确 解决 “ System . DllNotFoundException 解决 之路 无法 加载 DLL “xxx . dll ” ” 异常 的有效 解决 方法

wbajsjhhhhh的博客

System . DllNotFoundException , 无法 加载 DLL “**** . dll ”

System . DllNotFoundException , 无法 加载 DLL “**** . dll ”

weixin_50749380的博客

超酷炫,Python实现交通数据可视化!

此时输出的栅格化参数params的内容存储了栅格坐标系的原点坐标(slon、slat)、单个栅格的经纬度长宽 (deltalon、deltalat)、栅格的旋转角度(theta)、栅格的形状(method参数,其值可以是方形rect、三角形tri和六边形hexa)以及栅格的大小(gridsize参数,单位为米)。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去 找 对应的学习资源,保证自己学得较为全面。今天分享一次Python交通数据分析与可视化的实战!

m0_59236127的博客

System . DllNotFoundException : “Unable to load DLL ‘XXX . dll ‘ or one of its dependencies : 找 不到 指定 的 模块 。 ( 0 x8

原本以为 c# 调用时只需要一个最终的 DLL 文件放置在同一目录下就可以了,但是一直会出现【 System . DllNotFoundException : “Unable to load DLL ‘XXX . dll ’ or one of its dependencies : 找 不到 指定 的 模块 。2)缺少目标XXX dll 的依赖,例如要用到的是A . dll ,A . dll 用到时需要添加B . dll 动态库文件,在用到时需要两个 dll 同时存在。1) dll 在执行的程序同一目录下不存在;

weixin_44257107的博客

使用python获取同花顺免费版和同花顺远航版自选股数据用于量化交易

在做量化交易时,有时需要在盘中实时监控同花顺自选股的数量,以便灵活地自定义提醒、捕捉买卖时点等。那么,如何使用python获取同花顺自选股数据呢?

tzzqn2008的专栏

C# 找 不到 DLL 原因

最近在做一个 C# 项目时遇到这样的错误提示:    未处理的“ System . DllNotFoundException ”类型的 异常 出现在 XXXX . dll 中。    其他信息 : 无法 加载 DLL “XXXTest . dll ” : 找 不到 指定 的 模块 。 ( 异常 来自 HRESULT : 0 x 8007007 E ) 。    XXXTest . DLL 一定是存在的,并且已经拷贝到运行目录下面,但是提示的错误

SmartyIdiot的专栏

《网络安全自学教程》- Nmap使用及扫描原理分析

使用Nmap进行端口扫描、主机发现、服务识别、操作系统识别、 指定 脚本、结果导出文件,使用wireshark抓包分析扫描原理。

wangyuxiang946的博客

“ System . DllNotFoundException 解决 之路 无法 加载 DLL “xxx . dll ” ” 异常 的 解决 方案

System . DllNotFoundException 异常 是在尝试 加载 动态链接库( DLL )文件时,系统 无法 找 到 指定 的 DLL 文件时抛出的 异常 。这通常发生在使用 P/Invoke 或 COM 互操作时,当应用程序尝试调用一个不在系统路径中、没有正确安装或者存在版本不兼容问题的 DLL 时。

2301_79779756的博客

【乐企文件生成工程】添加数据库、SpringEvent事件支持

更新!1、乐企版式文件生成工程添加数据库支持2、乐企版式文件生成工程添加事件机制,异步处理文件生成,提高系统并发能力。

九七的博客

解决 “ 无法 加载 DLL “cvextern”: 找 不到 指定 模块 ”问题

运行代码时弹出报错: System . TypelnitializationException : “Emgu . CV . CvInvoke " 的类型初始值设定项引发 异常 。“内部 异常 DllNotFoundException : 无法 加载 DLL " cvextern” : 找 不到 指定 的 模块 。**注:**若是上述两种方法都不行,此时需要把目标平台改为X64即可 ( 并且取消勾选“首选32位” ) 。方法二:通过Nuget工具导入库 . runtimes . window库。可 ( 并且取消勾选“首选32位” ) 。方法一:手动导入相应的 dll 。

231逆水行舟的博客

Python爬虫实战:抓取全球船舶AIS定位数据的全流程指南

AIS(Automatic Identification System )自动识别系统是目前全球航运中用于实时跟踪船只位置的主要技术。名称、MMSI编号、呼号实时经纬度船速、航向吃水、目的港状态(航行/停泊/锚泊)航线信息等🛰️海上运输监控:追踪航线,预估到港时间;🛳️船舶管理系统:为物流、港口运营提供决策依据;🌊研究分析:如海洋运输碳排放研究、船只拥堵热力图等;🧠人工智能训练数据集:用于轨迹预测、碰撞预警模型。

2201_76125261的博客

关于使用EmguCV出现 “ 无法 加载 DLL “cvextern” : 找 不到 指定 的程序” 的 解决 方法

在网上试过将cvextern . dll 包直接放入Debug,运行则提示代码正尝试运行错误的包,还是会初始化失败。 DllNotFoundException : 无法 加载 DLL “cvextern” : 找 不到 指定 的 模块 。 ( 异常 来自 HRESULT : 0 x 8007007 E ) 。 System . TypeInitializationException : ““Emgu . CV . CvInvoke”的类型初始值设定项引发 异常 。首先用Nuget 加载 依赖,让编译前的代码不冒红线,然后开始编译。 解决 办法:项目编译环境选择x64。

Guyuanchiyu1314的博客

visual studio报:引发的 异常 : “ System . DllNotFoundException ” ( 位于 ConsoleCAN1 . exe 中 )

经过修改项目属性,复制过好几次 dll ,最终的 解决 是换为64位 dll ,目标平台改为 x64 ,相关文件复制到bin的Debug下,然后程序就能正常使用。通过以上步骤,您可以轻松地查看当前 Visual Studio 中的 C# 项目是什么平台的,并确定项目是多少位的。最近在重构CAN通信的代码,把论文中的java转为 C# 实现,由于某种原因,java不能复现,所以转为 c# 。但是我明明把 DLL 文件放在项目中了,而且也在代码中引用了,就不明了,所以去问了一下。这个 异常 通常表示系统 找 不到 特定的 DLL 文件。

路人的博客

System . DllNotFoundException 问题分析与 解决

<br /> 最近做C++大作业,界面是用 C# 构建,而程序处理核心使用native C++写的 DLL ,整个程序用VS2 0 1 0 编译,最初在我们三人的电脑开发测试时发现一切运行正常,但是当发给别人运行的时候,当WPF做的界面调用C++编写的 DLL 的时候,就会弹出 System . DllNotFoundException 错误,我把 DLL 放在 System 32和exe所在目录下发现问题依旧。<br />     翻了很多中文网站似乎没有 找 到 解决 方案 . . . 后来在某外国网站看到,出现这种原因的可能性有:<br />1 . DL

DIINotFoundException : 无法 加载 DLL “cvextern“ : 找 不到 指定 的 模块 .

只需要把cvexten . dll 放到你exe所在文件夹。

jame1996的博客

System . DllNotFoundException : 无法 加载 DLL “xxx . dll ” : 找 不到 指定 的 模块 。 ( 异常 来自 HRESULT : 0 x 8007007 E ) 解决

System . DllNotFoundException : 无法 加载 DLL “xxx . dll ” : 找 不到 指定 的 模块 。 ( 异常 来自 HRESULT : 0 x 8007007 E ) 解决 办法: 先查 找 调用的 dll 文件是否存在,是否在可调用的目录;(比如当前目录、 system 32目录) 2、检查该 dll 依赖的其它 dll ,用dumpbin命令查看依赖包,命令格式: dumpbin /dependents C : \d . . .

cniteng的博客

System . DllNotFoundException : 无法 加载 DLL 异常 来自

System . DllNotFoundException : 无法 加载 DLL 异常 来自 最近一个项目用到第三方C++库文件,突然有一天发现有的客户电脑上运行报错… 错误信息如下: 由于平时安装IDE的时候都默认安装了c++运行库,所以程序在开发过程中没有暴露出改问题。 程序内部是通过以下方式调用的: 解决 办法: 在你的程序发布或打包时除了 . Net Framework是必备组件外,如果你调用了第三方 . . .

kucoffee12的博客

DllNotFoundException : 无法 加载 DLL “cvextern” : 找 不到 指定 的 模块 。

DllNotFoundException : 无法 加载 DLL “cvextern” : 找 不到 指定 的 模块 。

曾经的我也很优秀,现在的我一无所有。

System . DllNotFoundException : “ 无法 加载 DLL “Project1 . dll ” : 找 不到 指定 的 模块

这种情况并非是c++ dll 文件位置不对,或者 找 不到 c++ dll 造成的。报这个错误,基本是因为生成平台造成的,要么是c++生成平台是x64, c# 无法 调用,要么是c++生成平台是x86,而 C# 用x64去调用。 c# 调用c++的 dll ,报错 System . DllNotFoundException : “ 无法 加载 DLL “Project1 . dll ” : 找 不到 指定 的 模块 。

gws044010607的专栏

System . DllNotFoundException : “Unable to load DLL ‘my . dll ‘ or one of its dependencies : 找 不到 指定 的 模块 。

System . DllNotFoundException : “Unable to load DLL ‘my . dll ‘ or one of its dependencies : 找 不到 指定 的 模块 。使用visual studio 2 0 22软件编译项目时,完全没有问题,没有报错,且XXX . dl文件生成。在生成的my . dll 同文件夹下添加这些 dll 文件。1 . Unable to load DLL 'my . dll ' (下载失败)项目生成的 DLL 文件出了自己外,还需要依赖其他库。查询项目生成的 . dll 文件的依赖 dll 文件。

weixin_51076796的博客

vs2 0 19中Emgu . CV包测试环境出现错误信息:Emgu . CV . CvInvoke”的类型初始值设定项引发 异常

Emgu . CV测试环境出现错误信息:Emgu . CV . CvInvoke”的类型初始值设定项引发 异常 ,内部错误为: 无法 加载 DLL “cvextern” : 找 不到 指定 的 模块 。 ( 异常 来自 HRESULT : 0 x 8007007 E ) 环境: vs2 0 19 netcore或者net framework 加载 包: emgu . cv 解决 方法: 安装包:Emgu . CV . runtime . windows . . .

System . DllNotFoundException : 无法 加载 DLL “xxx . dll ” : 找 不到 指定 的 模块 。 ( 异常 来自 HRESULT : 0 x 8007007 E ) 解决 办法: 先查 找 调用的 dll 文件是否存在,是否在可调用的目录;(比如当前目录、 system 32目录) 2、检查该 dll 依赖的其它 dll ,用dumpbin命令查看依赖包,命令格式: dumpbin /dependents C : \d . . .
System . DllNotFoundException : 无法 加载 DLL 异常 来自 最近一个项目用到第三方C++库文件,突然有一天发现有的客户电脑上运行报错… 错误信息如下: 由于平时安装IDE的时候都默认安装了c++运行库,所以程序在开发过程中没有暴露出改问题。 程序内部是通过以下方式调用的: 解决 办法: 在你的程序发布或打包时除了 . Net Framework是必备组件外,如果你调用了第三方 . . .
Emgu . CV测试环境出现错误信息:Emgu . CV . CvInvoke”的类型初始值设定项引发 异常 ,内部错误为: 无法 加载 DLL “cvextern” : 找 不到 指定 的 模块 。 ( 异常 来自 HRESULT : 0 x 8007007 E ) 环境: vs2 0 19 netcore或者net framework 加载 包: emgu . cv 解决 方法: 安装包:Emgu . CV . runtime . windows . . .