[转]System.DllNotFoundException: 无法加载 DLL“*.dll”: 内存位置访问无效。 (异常来自 HRESULT:0x800703E6)

我在使用地税发票控件进行开票的测试的时候,在xp上测试时正常的,在别人的win7系统测试也是正常,但我在我本机确不正常。我本机装的是msdn版本win7系统,这个系统比较原装。

错误信息如下:

2012-07-21 06:30:08,546 [1] ERROR - ThreadException caught
System.DllNotFoundException: 无法加载 DLL“GdltaxIA.dll”: 内存位置访问无效。 (异常来自 HRESULT:0x800703E6)。
在 SkyMap.Net.ZSTax.Commands.FPOnlineHelper.ZKHelper.SetFpzxServerURL(String AURL)

解决办法是:

由于Windows 7系统都默认开启DEP防护功能,所以算法调用DLL时报出以下错误:

“System.DllNotFoundException:无法加载DLL “HSFileED.dll”:内存位置访问无效。(异常来自HRESULT:0x800703E6)。”

解决的方法是关闭DEP防护功能

关闭方法:

打开“计算机-属性-高级系统设置”中的“高级”选项卡,点击“性能”下面的“设置”按钮,切换到“数据执行保护”选项,勾选“为除下列选定程序之外的所有程序和服务启用”,最后点击“添加”按钮找到并添加中文执行程序。(确认中)非常重要(windows7直接进行这一步就可以了):从“开始”-“所有程序”-“附件”中找到“命令提示符”,右键选择“以管理员身份运行”,输入“bcdedit.exe/set {current} nx AlwaysOff”(不包含引号),回车,出现“操作成功完成”,然后重启计算机,这样便彻底关闭了DEP,若日后想要重新开启DEP,在命令提示符中输入“bcdedit /set {default} nx Optin”,回车并重启计算机即可。

Tips:不要输入“bcdedit.exe/set {current} nx AlwaysOn”,因为这条命令是对所有程序开启DEP,会造成许多程序无法运行。

原文地址:https://www.cnblogs.com/rainbow70626/p/8966352.html

时间: 2024-10-13 16:30:10

[转]System.DllNotFoundException: 无法加载 DLL“*.dll”: 内存位置访问无效。 (异常来自 HRESULT:0x800703E6)的相关文章

System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

老是忘记一下: 项目右键属性->项目设计器->生成->平台->把'默认设置(任何 CPU)'改为x86.因为'任何 CPU'的程序在64位的机器上就会用运行为64位,而64程序是不能加载32位dll的. System.BadImageFormatException: 试图加载格式不正确的程序. (异常来自 HRESULT:0x8007000B)

试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

两种原因: 第一种为程序的运行以平台系统位数不匹配,第二种则是该死的VS整出来的... 一般在下面三种情景下会发生. 1.64位系统上C#调用32位的C++ *.dll 2.64位系统上IIS发布含有32位的 *.dll应用程序时 3.64位系统上编写C++ *.dll,在64位系统上通过 C#调用 ,可能成功,也可能失败,失败就报BadImageFormatException 异常,也是最二的一种情况.是由该死的VS整出来的 解决方法如下: 1.VS在64位系统下面,编译调试某个C++的API

[错误]试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

错误原因: dll文件是在64位机下编译的,而服务器是32位机,所以无法调用或者dll文件是在64位开发环境下下编译的,而现在的调用程序是的32位,所以无法调用 注意项目属性: [错误]试图加载格式不正确的程序. (异常来自 HRESULT:0x8007000B),码迷,mamicode.com

关于 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B) 的 解决方法

这个是64位应用32位产生的问题.相信大家搜索的时候很多都是建议改把项目的AnyCPU改成X86,可是很不幸我的改不了. 终于搜索了半天后发现,IIS里解决才是根本办法: 1.生成时选择AnyCPU. 2.在IIS配置里面启用32位应用程序. 其中启用32位应用程序的方法如图: OK,解决了. 如果其他还有解决办法,希望大神能留言解决谢谢!

Error-ONS-ASP.NET:无法加载 DLL“ONSClient4CPP”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。

ylbtech-Error-ONS-ASP.NET:无法加载 DLL“ONSClient4CPP”: 找不到指定的模块. (异常来自 HRESULT:0x8007007E).  1.返回顶部 1. “/tbmr”应用程序中的服务器错误. 无法加载 DLL“ONSClient4CPP”: 找不到指定的模块. (异常来自 HRESULT:0x8007007E). 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细

c#动态加载卸载DLL的方法

这篇文章介绍了c#动态加载卸载DLL的方法,有需要的朋友可以参考一下 c#中通过反射可以方便的动态加载dll程序集,但是如果你需要对dll进行更新,却发现.net类库没有提供卸载dll程序集的方法.在.net 中,加入了应用程序域的概念,应用程序域是可以卸载的.也就是说,如果需要对动态加载的dll程序集进行更新,可以通过以下方法解决: 新建一个应用程序域,在该应用程序域中动态加载DLL,然后可以卸载掉该应用程序域.该应用程序域被卸载的时候,相关资源也会被回收. 要想这样实现,就要让你程序的cur

c# 无法加载xxx.dll 找不到指定的模块(如何指定文件夹)

如果直接放在项目运行目录,例如bin/debug可以直接加载,但是这样比较乱. 如果在放debug里面的一个文件夹里面,有可能会报错“无法加载xxx.dll 找不到指定的模块”. 如果路径写成这样就会报错 framework/linphone 解决方法:将/ 改成"\" framework\linphone

VS2013编译经常卡在正在从以下位置加载xxx.dll的符号

换了系统后,重新下载了一个vs2013 with update2安装,编译的时候总是卡在 正在从以下位置加载xxx.dll的符号 如图: 解决方法: 进入VS---工具---选项----调试----符号 看右边有个“Microsoft符号服务器”,将前面的勾去掉, (可能还有删除下面的那个缓存). 然后就不会在调试时加载了! 问题得到解决

加载php_curl.dll和php_openssl.dll出错原因及解决办法

今天在XP下安装PHP开发环境时,需要加载php_curl.dll这个动态库,自己想当然的在php.ini里把extension=php_curl.dll打开以为就可以了.可以在apache的logs里面依然会报错,提示找不到php_curl.dll这个文件,我的extension_dir也配置php/ext这个目录下面,而且ext这个目录下面也有php_curl.dll这个文件,为什么找不到呢,着实让人挺纳闷的. 网上的资料都是说extension_dir的路径没有配置或是没有打开extens