问题描述
- 用WPF做VLC视频播放器,如何解决.Net Framework版本的转换(只能使用2.0吗?)
-
当进行如上调用时,会出现如下错误信息
对 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);
改一下参数就可以了好像
时间: 2024-09-19 09:46:55