我正在 c# .net 4 上构建一个 Winform 应用程序。我正在尝试使用 VLC 插件作为工具箱 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。
如何解决这个问题?
最佳答案
VLC 2.x 版本对托管代码不友好,除非将其重新编译为共享并作为可执行服务器运行(以及其他问题)。无需重新构建插件,只需使用稍旧的插件即可。
- 在此处下载 V 1.1.9:http://download.videolan.org/pub/videolan/vlc/1.1.9/win32/
- 我建议卸载现有的 VLC,然后安装上面的 VLC(使用 activeX 选项)。
- 使用 CMD 和 Regsvr32 以及 activeX 文件夹注册控件 (AXVLC.DLL),例如:REGSVR32 C:\WINDOWS\AXVLC.DLL
要记住的一些提示:
- 如果出现播放错误,您可能无法访问这些库。它们位于插件文件夹中。我相信你可以将文件夹复制到activeX文件夹中。
- 我听说您还需要将 libVLC.dll 复制到同一文件夹中。
- 您需要将媒体文件添加到播放列表才能播放。
关于c# - 在 winform 中使用 COM 组件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15688919/