C#调用C++的DLL错误解决方法

一、报错如下:无法加载DLL"**.dll":找不到指定的模块(异常来自HRESULT:0x8007007E)

此时若可以确定此dll就在bin目录下,则说明是此dll调用别的dll,这时下载depends软件,查看此dll缺少的dll。

笔者缺少的dll如下:

查看之后发现,缺的都是系统库。

缺少系统库,有两种方法:

1、下载该dll,放在C:\Windows\System32或C:\Windows\SysWOW64目录下,执行regsvr32  **.dll进行注册。

2、直接安装VC++运行库,,笔者安装了MSVBCRT_AIO_2018.10.28_X86 X64,问题解决。

二、报错如下:未处理BadImageFormatException试图加载格式不正确的程序。(异常来自HRESULT:0x8007000B)

1、这种错误通常是由于该dll是在32位系统下开发的,调用则是在64位系统下导致的。此时可以设置生成平台为x86,或Any CPU自动选择平台,问题则可解决。

2、若缺少依赖的dll,也会报此错误。此时按照一中的方法下载安装VC++运行库。

原文地址:https://www.cnblogs.com/smile992/p/10243585.html

时间: 2024-10-10 05:55:09

C#调用C++的DLL错误解决方法的相关文章

64位进程调用32位dll的解决方法 / 程序64位化带来的问题和思考

最近做在Windows XP X64,VS2005环境下做32位程序编译为64位程序的工作,遇到了一些64位编程中可能遇到的问题:如内联汇编(解决方法改为C/C++代码),long类型的变化,最关键的遇到了64位进程需要调用32位dll的问题.由于有一些32位dll没有源代码,无法重新编译为64位dll,所以只能想办法解决64位进程调用32位dll问题,这个问题让我很是挠头了几天. 相关资料:微软公司的官方网站针对这个问题描述如下:在64位的windows系统中,一个64位进程不能加载一个32位

VS2008找不到MFC90d.dll错误解决方法

问题是在更新嵌入的清单文件时发生的,由于FAT32的原因而未能更新嵌入的清单文件,于是我们有如下两种解决方法: (1)不启用增量链接.在项目的“属性|配置属性|链接器|常规”中的“启用增量链接”选择“否”.此方法阻断了问题产生的源头,其每次生成exe文件时都直接嵌入清单文件,而不是默认的根据时戳而决定是否更新清单文件. (2)不嵌入清单文件.在项目的“属性|配置属性|清单工具|输入和输出”中的“嵌入清单”选择“否”,从而在生成exe文件时附随生成一个清单文件(默认情况下,其文件名为exe文件的全

无法删除DLL文件解决方法(转)

无法删除DLL文件解决方法(转) 手动解决dll文件无法删除的终极方法 手动解决dll文件无法删除的终极方法 相信大家都遇见过:在删除一些软件的时候弹出某某文件正在运行或磁盘写保护不能删除这样的报错提示吧.而常常删除不掉的都一些后缀为.dll的文件.到底这个dll文件是什么文件,如何才能知道是哪些程序在调用这个dll文件呢? [基础理论]dll文件英文名称为Dynamic Linking Library,以下简称dll,中文名字"动态链接程序库"文件.在Windows中,许多应用程序并

在启动php时,无法启动此程序,由于计算机中丢失MSVCR110.dll的解决方法

在启动php时,运行RunHiddenconsole.exe php-cgi.exe -b 127.0.0.1:9000 -c时,出现错误:无法启动此程序,由于计算机中丢失MSVCR110.dll 方法/步骤 首先进入 http://www.microsoft.com/zh-CN/download/details.aspx? id=30679 这个网址来进行相关程序的下载. 打开之后,在"选择语言"里选择"中文简体".然后点击右边的"下载"but

解决安装VC6.0后出现MSDEV.EXE错误解决方法

问题:安装VC6.0后,在打开项目或添加文件时,出现如下错误: 可能导致原因:由于Ms安装软件的兼容性问题,导致VC6.0安装不完全, 解决方法:--网上打sp6补丁的方法貌似不可用,所以可以采用另一种方法 1.在下面的网站下载FileTool.exe http://support.microsoft.com/kb/241396/en-us      2.FileTool.exe是个自解压文件,执行它,解压到某个目录下 3.解压后的文件是一个VC工程,在VC6中编译它 4. 在dsw文件上右键“

eWebeditor编辑器上传图片路径错误解决方法[疑难杂症]【转,作者:unvs】

做了一个多版本的网站,后台用的编辑器是eWebeditor,NET版,后面发现上传图片或者文件之后,路径错误无法显示,必须手工修改才行.. 为了更清楚的说明问题,我下面会说的比较详细,首先是网站文件框架路径(多版本网站为实例),然后解释上传文件的文件含义,最后会根据问题说出不同的原因及解决方法: 一.网站文件框架 wootroot(网站根目录) cn(中文版文件夹) admin(后台目录) eWebeditor(后台编辑器文件夹) upload(上传处理文件夹)  default.aspx  

在启动php时,无法启动此程序,因为计算机中丢失MSVCR110.dll的解决方法

在启动php时,执行RunHiddenconsole.exe php-cgi.exe -b 127.0.0.1:9000 -c时,出现错误:无法启动此程序,因为计算机中丢失MSVCR110.dll 方法/步骤 首先进入 http://www.microsoft.com/zh-CN/download/details.aspx?id=30679 这个网址来进行相关程序的下载. 打开之后,在"选择语言"里选择"简体中文",然后点击右边的"下载"按钮.这

启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”的解决方法!

原因:eclipse的版本与jre或者jdk版本不一致 对策:要么两者都安装64位的,要么都安装32位的,不能一个是32位一个是64位. 这种错误的原因可能性比较大,不排除其他因素 启动 Eclipse 弹出"Failed to load the JNI shared library jvm.dll"的解决方法!

阿里云Windows server 2008服务器搭建VPN 图文教程,购买境外服务器自建vpn,Win8/win10 连接VPN被阻止,出现812错误解决方法

阿里云Windows server 2008服务器搭建VPN 图文教程(超详细) 第一步:购买阿里云服务器,本文使用的是Windows Server 2008 R2 企业版64位中文版 IP地址:47.88.151.129,所属节点:亚太(新加坡) 服务器配置:2核,4GB,带宽10Mbps 第二步: 打开服务器管理器,点击添加角色,如下图: 本帖隐藏的内容然后弹出如下图所示,点击下一步: 点击后,如下图,勾选网络策略和网络服务,然后点击下一步: 接着继续点击下一步,直到弹出如下图所示的页面,勾