媒体播放器和.NET 4.0

问题描述 投票:0回答:2

我有一些WinForm代码(.NET 2.0)使用Windows Media Player利用COM(AxInterop.WMPLib.dll和Interop.WMPLib.dll)。

我试图将其推送到.NET 4.0,但它不加载DLL。

似乎4.0不支持WMP的特定版本(或任何版本)。

有谁知道为什么?有没有其他方法来处理它? (在我去WPF之前)

.net .net-4.0 interop media-player media
2个回答
3
投票

您可以将C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies \ WMPLib.dll和AxInterop.WMPLib.dll复制到bin目录并引用这些程序集。这些程序集是为'AnyCPU'编译的。


2
投票

如果您的错误日志显示“使用来自C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ config \ machine.config的计算机配置文件”

您正在将32位COM加载到64位进程中。这将导致异常。您需要切换到使用64位版本的Windows Media Player,或将您的过程更改为目标32位。即将构建设置从AnyCPU更改为x86或X64,并相应地引用32位或64位WMP。

© www.soinside.com 2019 - 2024. All rights reserved.