C#采用DLLImport无法加载第三方Dll文件

在引用第三方文件时,出现如下问题:
在这里插入图片描述
引用方式:
采用DllImport类加载非托管第三方API,调用托管方法。

  [DllImport("TLJY.dll", EntryPoint = "TLJY_Reset", CallingConvention = CallingConvention.Cdecl)]
  public static extern int TLJY_Reset(DevHandle hZHHK429);

解决方法:
1、以管理员身份安装第三方给的软件(如果第三方API在软件安装的目录内);
2、将dll的文件路径添加到环境变量中;
3、给VS运行环境管理员身份
(找到VS启动应用devenv.exe—>右键—>兼容性疑难解答—>疑难解答程序—>该程序需要附加权限—>测试程序—>是,为程序保留这些设置)。

非托管的:dll文件拷贝到bin目录下没有任何帮助,因为CLR会把文件拷贝到一个临时目录下运行,而CLR只会拷贝托管文件,而非托管的dll虽放在了bin下但不会被拷贝,故仍会出现无法加载的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值