异常----- 异常来自 HRESULT:0x800736B1

异常信息:

“Error:无法加载DLL ”xxx.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();

调用了第三方的一个非托管资源,在你的开发环境、调试环境或者部分部署环境中都运行正常,但是在某些客户机环境中会提示以上错误时,可能是由于以下原因:

在你的程序发布或打包时除了.Net Framework是必备组件外,如果你调用了第三方的一些类库,还得必须把Visual C++运行库添加上,这样在安装程序时会自动检测当前环境中是否已经安装visual c++运行库并自动进行安装,安装完之后,问题解决。
因此,此类问题的根源一般是由于你编写的DLL源码引用到了一些第三方类库,而这些类库在你本机上没有。解决问题的方法就是在打包DLL的时候将第三方类库一起打包,或者在本机安装第三方类库。

你可能感兴趣的:(c,.net,dll)