c# - 在 winform 中使用 COM 组件时出错

标签 c# winforms .net-4.0 vlc libvlc

我正在 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 版本对托管代码不友好,除非将其重新编译为共享并作为可执行服务器运行(以及其他问题)。无需重新构建插件,只需使用稍旧的插件即可。

  1. 在此处下载 V 1.1.9:http://download.videolan.org/pub/videolan/vlc/1.1.9/win32/
  2. 我建议卸载现有的 VLC,然后安装上面的 VLC(使用 activeX 选项)。
  3. 使用 CMD 和 Regsvr32 以及 activeX 文件夹注册控件 (AXVLC.DLL),例如:REGSVR32 C:\WINDOWS\AXVLC.DLL

要记住的一些提示:

  1. 如果出现播放错误,您可能无法访问这些库。它们位于插件文件夹中。我相信你可以将文件夹复制到activeX文件夹中。
  2. 我听说您还需要将 libVLC.dll 复制到同一文件夹中。
  3. 您需要将媒体文件添加到播放列表才能播放。

关于c# - 在 winform 中使用 COM 组件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15688919/

相关文章:

具有自定义边框和圆边的 C# 窗体

asp.net - 大型预编译 Asp.net 网站项目中出现错误 CS0433

c# - Linq - 如何连接到数据库?

c# - 获取使用 Adob​​e PDF 打印机打印的 PDF 文件名

c# - UpdatePanel 中的 GridView - 在单击按钮时获取更新的文本框值

c# - 乐观并发

c# - .NET 控制台应用程序如何查找引用的程序集?

c# - 在 C# 中编辑 Datagridview 中的 Combobox 项

c# - 如何为 InitializeComponent 提供自定义代码?

.net - 我可以使用.Net4 RegAsm.exe 执行.Net2 dll 的RegAsm 操作吗?