运行错误的解决办法----- 异常来自 HRESULT:0x800736B1

如何你的程序调用了非托管资源,在开法环境和部分部署环境中运行正常,但在有些部署环境中会出现如下错误,则此文章有可能帮得到你,因为我也是受到了他的折磨~~

 

 例如,在你的程序中通过以下方式调用了第三方的一个非托管资源,在你的开发环境、调试环境或者部分部署环境中都运行正常,但是在某些客户机环境中会提示

“Error:无法加载DLL ”mwrf_bj.dll":由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。(异常来自:HRESULT:0x800736B1)

[DllImport( " mwhrf_bj.dll " , EntryPoint  =   " Open_USB " , SetLastError  =   true ,
         CharSet 
=  CharSet.Auto, ExactSpelling  =   false ,
         CallingConvention 
=  CallingConvention.StdCall)]
        
public   static   extern   int  Open_USB();

 

 出现这个问题,你很有可能会按照错误提示重新安装,但结果还是一样,无法正常运行。

程序出的问题,不会呀,其他机器上可以运行,那应该是客户机环境的问题了。想想你的程序是调用了一些C++写的函数,那么会不会是运行c++的一些环境没有配置起来呢。其实在你的程序发布或打包时除了.Net Framework是必备组件外,如果你调用了第三方的一些类库,还得必须把Visual C++运行库添加上,这样在安装程序时会自动检测当前环境中是否已经安装visual c++运行库并自动进行安装,安装完之后,问题解决。

 

以下是2005版本的介绍,对应的还有2008等版本信息。

Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) 安装在未安装 Visual C++ 2005 的计算机上运行使用 Visual C++ 开发的应用程序所需的 Visual C++ 库的运行时组件。

 

 

转载于:https://www.cnblogs.com/wservices/archive/2011/05/09/2034571.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值