beihuanlihe130
2016-03-07 11:01 阅读 2.4k

用WPF做VLC视频播放器,如何解决.Net Framework版本的转换(只能使用2.0吗?)

图片说明
当进行如上调用时,会出现如下错误信息
对 PInvoke 函数“ClientLibrary.Controls.LibVlcAPI::libvlc_new”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
_最开始项目是framework2.0框架,现在是framework4.5框架,如何进行转换才能解决这个问题呀?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-03-07 11:11

    你确认你的代码在2.0上没有问题?光看这代码,2.0和4.0应该没有区别。检查下你的dll本身是不是有变动。

    点赞 评论 复制链接分享
  • beihuanlihe130 做一只会飞的猪 2016-03-07 11:37

    [DllImport("libvlc.dll", EntryPoint = "libvlc_new", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
    [SuppressUnmanagedCodeSecurity]
    private static extern IntPtr libvlc_new(int argc, IntPtr argv);

                改一下参数就可以了好像
    
    点赞 评论 复制链接分享

相关推荐