一、问题描述
目前在做的项目需要用到Unity连接KepServer进行通信,于是基于某度下载了一个opcdaauto.dll,直接拖入到\Assets\Plugins中,发现C#脚本始终显示无对应的程序集引用,百思不得其解???
unity控制台报错
二、分析原因
按照以往添加程序集的方式又添加了一次,发现结果并没有任何改变,于是我开始仔细比较之前成功添加的dll文件的目录,属性等信息,发现了问题所在。
异常导入后dll文件在VS中的属性 正常导入后dll文件在VS中的属性
通过路径对比发现非正常dll文件导入后的路径为
D:\unity projects\****\obj\Debug\Interop.OPCAutomation.dll;
正常dll文件导入后路径应该为
D:\unity projects\****\Assets\Plugins\S7.Net.dll;
三、解决方法
将对应的dll文件从\obj\Debug\文件夹剪切到\Assets\Plugins\文件下即可。
好啦,本文到此结束,欢迎大家评论留言!
********************************************************************************************
20240219更新:
Unity从2019.1版本开始就不再支持基于COM的OPC接口了,大家可以使用基于.Net平台的OPCDA.NET.dll 或者OpcDANET.dll这样的SDK来实现C#和OPC通信。