【PMAC】Chapter1:PMAC卡的C#开发

1、问题简述

最近需要调用PMAC卡进行二次开发,其中需要用到Interop.PCOMMSERBERLib和Interop.PMACSERVERLib两个接口,但是突然出现如下问题:“无法嵌入互操作类型XXX,请改用合适的接口”
【PMAC】Chapter1:PMAC卡的C#开发

2、解决方法

调出PMAC官网下载的demo,未做任何改动的demo完全没有问题,如下图:
【PMAC】Chapter1:PMAC卡的C#开发
比较之间的区别,发现右下角接口属性设置不同,因此进行修改,如下,最终问题解决。
【PMAC】Chapter1:PMAC卡的C#开发

3、解释

需要将“嵌入互操作类型”改为false。查了一下嵌入互操作类型的含义,引用自该博客:https://www.cnblogs.com/arxive/p/5852840.html

(1) ”嵌入互操作类型”中的嵌入就是引进、导入的意思,类似于c#中using,c中include的作用,目的是告诉编译器是否要把互操作类型引入。

(2) “互操作类型”实际是指一系列Com组件的程序集,是公共运行库中库文件,类似于编译好的类,接口等。

(3) “嵌入互操作类型”设定为true,实际上就是不引入互操作集(编译时候放弃Com程序集),仅编译用户代码的程序集。而设定为false的话,实际就是需要从互操作程序集中获取 COM 类型的类型信息。