执行引擎错误是致命错误,决不应该发生。此类错误主要是在执行引擎被破坏或丢失数据时发生的。系统会随时引发此异常。在可能的情况下,系统将引发比 ExecutionEngineException 异常能提供更多信息的异常。
应用程序不应引发 ExecutionEngineException。
ExecutionEngineException 使用值为 0x80131506 的 HRESULT COR_E_EXECUTIONENGINE。
有关 ExecutionEngineException 实例的初始属性值列表,请参见 ExecutionEngineException 构造函数。
解决方法:
public static extern void callCamnprDLL(out byte[] ver);
改成
public static extern void callCamnprDLL(byte[] ver);
试试看
疑问:
原本:callCamnprDLL(out byte[] ver); ver 这个参数是要传入地址的,用引用类型符 ref / out
因为c++ dll定义是这样的:
POI_API
long callCamnprDLL(UUID2& ver);
&是取地址,*是传送指针。 原意是,ver是函数返回的out出来的值,我不需要传值的,只定义一个地址变量。这个比较郁闷。。。布布在线。
Microsoft .NET Framework 1.1 Service Pack 1 for Windows Server 2003