2013-03-28 56 views
2

我在c#.net 4上構建了一個Winform應用程序。我試圖使用VLC插件作爲工具箱COM組件。該組件已成功添加到工具箱中。但是,當我使用它有一個錯誤:在Winform中使用COM組件時出錯

Failed to create component 'AxHost'. The error message follows: 'System.Runtime.InteropServices.COMException (0x80029C4A):Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A(TYPE_E_CANTLOADLIBRARY)

我試過在32位系統上的相同,它工作正常。這個錯誤在64位系統中。試圖將構建更改爲32位和64位。

我也嘗試使用regserv32註冊DLL。但我不確定是否註冊了正確的DLL。

我該如何解決這個問題?

+1

VLC COM插件可能已經構建爲32位DLL。有沒有這個DLL的64位版本? –

+0

還有一個64位版本的DLL。我會嘗試使用它。但是,當我更改構建版本爲32位,它不起作用。 – Vinshi

+0

是的,讓我們嘗試一下,當我們這樣做時,您還可以在選擇「ANY CPU」時嘗試構建您的winform應用程序嗎? –

回答

3

版本2.x的VLC不受管理代碼友好,除非它被重新編譯爲可共享並作爲可執行服務器運行(以及其他問題)。而不是重新構建插件,只需使用稍舊的插件即可。

  1. 下載V 1.1.9這裏:http://download.videolan.org/pub/videolan/vlc/1.1.9/win32/
  2. 我建議卸載現有的VLC,然後安裝一個以上(帶有ActiveX選項)。
  3. 註冊使用CMD和Regsvr32的和該ActiveX文件夾中的控制(AXVLC.DLL),因爲這樣的:REGSVR32 C:\ Windows \ AXVLC.DLL

的幾項建議要記住:

  1. 如果有播放錯誤,則可能無法訪問這些庫。他們在插件文件夾中。我相信你可以將文件夾複製到activeX文件夾中。
  2. 我聽說你還需要將libVLC.dll拷貝到同一個文件夾。
  3. 您需要先將媒體文件添加到播放列表,然後才能播放它。