方法1:
设置 CallingConvention = System.Runtime.InteropServices.CallingConvention.Cdecl,但是我设置了也是出错。换一个convention没出错。但是调用不正常。
方法2:
大概意思是P/Invoke StackImblance这个异常,本身来说可以忽略掉。
在.net 2的项目环境下,默认是关掉这个异常检查的。在.net 4下面,默认是开启这个检查的。
要解决这个问题,可以在ctrl+alt+e的处理异常类型类型设定里,managed debug assistants里把pinvoke statckeimblance的复选框去掉就可以了。
测试了有效果。