当进行如上调用时,会出现如下错误信息
对 PInvoke 函数“ClientLibrary.Controls.LibVlcAPI::libvlc_new”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
_最开始项目是framework2.0框架,现在是framework4.5框架,如何进行转换才能解决这个问题呀?
你确认你的代码在2.0上没有问题?光看这代码,2.0和4.0应该没有区别。检查下你的dll本身是不是有变动。
[DllImport("libvlc.dll", EntryPoint = "libvlc_new", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[SuppressUnmanagedCodeSecurity]
private static extern IntPtr libvlc_new(int argc, IntPtr argv);
改一下参数就可以了好像