3

我正在尝试将 Windows Media Player 对象添加到我的 Windows 窗体,但它会弹出一个错误:

Failed to create compopnent 'AxHost'. The error message follows:
'System.Reflection.ReflectionTypeLoadException: Unable to load
one or more of the requested types. Retrieve the LoaderExceptions
property for more information.
  at
System.Windows.Forms.Design.DocumentDesigner.AxToolboxItem.
CreateComponentsCore(IDesignerHost host)
  at
System.Drawing.Design.ToolboxItem.CreateComponentsCore(IDesignerHost 
host, IDictionary defaultValues)
  at
System.Drawing.Design.ToolboxItem.CreateComponents(IDesignerHost
host, IDictionary defaultValues)
  at
System.Windows.Forms.Design.OleDragDropHandler.CreateTool(ToolboxItem
tool, Control parent, int32 x, int32 width, int32
height, Boolean hasLocation, Boolean hasSize,
ToolboxSnapDragDropEventArgs e)'

但是,如果我要创建一个新项目并添加 Windows Media Player,它就可以正常工作。

我已经尝试了一些在线解决方案,例如在新项目(使用 Windows Media Player)打开时添加 Windows Media Player,将现有表单添加到项目等,但无济于事。

有什么我做错了吗?

4

3 回答 3

6

不确定您是否仍在为此寻找解决方案,但也许这会对其他人有所帮助。我在尝试嵌入不同的 COM 对象时遇到了同样的问题。

在我的头撞到墙上几个小时后,我意识到在项目 Properties -> Build -> Platform Target 设置为 x64(因为几个月前我正在玩一些东西),其中许多旧 COM程序集以 32 位系统为目标。无论如何,将我的平台目标切换为“任何 CPU”解决了这个问题。

尼克

于 2016-11-15T00:46:13.707 回答
2

我通过从引用中删除 'AxWMPLib',"WMPLib" 引用解决了这个问题。然后。再次在表单上添加媒体播放器。

于 2018-08-19T19:00:03.110 回答
0

对于像我这样的新手从引用中删除“AxWMPLib”、“WMPLib”引用以及从工具箱中删除“Windows Media Player”然后关闭项目(Visual Studio)然后再次打开项目然后转到属性->编译->目标 CPU = x86 和平台= x86 然后通过工具箱添加 Windows 媒体播放器,然后重建项目。通过拖放使用工具箱添加媒体播放器控件....问题解决^_^

于 2020-07-29T22:23:29.420 回答