問題描述
使用WinForm程式,呼叫VLC初始化實體時報例外,就是運行到libvlc_new(arguments.Length, argvPtr)方法時報的例外
例外訊息:System.BadImageFormatException:“試圖加載格式不正確的程式。 (例外來自 HRESULT:0x8007000B)
圖片:

問題出現的環境背景及自己嘗試過哪些方法
環境:
1..Net版本:4.5
2.VLC版本:vlc-3.0.4-win64
3.IDE:VS2017
4.OS:Win10 64
嘗試的方法:
1.將程式以X86的方式重新生成(無法解決)
2.libvlc.dll和libvlccore.dll和plugins都在Debug目錄下(無法解決)
相關代碼
libvlc_new(arguments.Length, argvPtr);
// 創建一個libvlc實體,它是參考計數的
[DllImport("libvlc", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[SuppressUnmanagedCodeSecurity]
private static extern IntPtr libvlc_new(int argc, IntPtr argv);
你期待的結果是什么?實際看到的錯誤資訊又是什么?
期待的結果是能夠創建實體,但現在報例外。因為是C#呼叫C++的DLL,也是第一次用,望有大佬解答
uj5u.com熱心網友回復:
影像格式不對 換格式吧uj5u.com熱心網友回復:
把.net框架降到4.0試試。我的問題跟你差不多,環境一樣,但我的是4.0框架下,沒有報錯。但是!如果把編譯好的程式放到32位XP SP3 .net 4.0下運行時,直接就是.net的系統級報錯,若干個找不到DLL入口,但是!不影響使用,執行緒、委托、回呼都試了一遍,不管用!
uj5u.com熱心網友回復:
你還可以試試VLC 2.1.0版,在XP下我的沒問題。uj5u.com熱心網友回復:
專案屬性修改為,生成,首選32位轉載請註明出處,本文鏈接:https://www.uj5u.com/net/266536.html
標籤:C#
