在visual studio 2013项目中引用ChinaPay的DLL,调用NetPayClientClass类会导致IDE提示警告信息:无法嵌入互操作类型“ChinaPay_NET.NetPayClientClass,请改用适用的接口,随后生成项目失败。后查阅相关资料,只要设置下改DLL的嵌入互操作类型即可。
问题截图:
具体的解决方法是右键引用的dll,点击属性:
找到嵌入互操作类型,将原本的True修改为False就可以了,最后记得重新生成下项目:
会遇到这个问题,主要也是为了开发ChinaPay的支付功能,根据官方文档C#如果要调用支付接口需要引用银联在线的DLL(必须将原先的COM组件转换为DLL),其实这个DLL是个坑,发布网站的时候发现竟然只支持32位系统,还需要把IIS线程池改为32位,否则你在本地测试功能是正常的,发布到IIS上则会报错,具体可以看这篇文章:ChinaPay踩坑笔记二:发布后依然无法支付订单提示错误代码80040154没有注册类
作者:十有三
出处:https://shiyousan.com/post/636028745483968171
版权声明:本文采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请声明出处或保留此段声明。