前几年写的一个WinForm应用程序,引用了COM组件Windows Media Player用于播放音频文件,今天用VS2019编辑生成后运行出错,提示:
引用内容
![]()
运行ildasm工具,载入AxInterop.WMPLib.dll,双击MANIFEST查看程序集清单:
![]()
明白了,编辑后自动引用了新版本AxInterop.WMPLib.dll(操作系统Windows 10),它依赖于.NET Framework 4.0,而WinForm应用程序前几年创建的使用的框架为.NET Framework 2.0,将框架版本更改为.NET Framework 4.0,问题解决。
最后,找了下先前版本中引用的AxInterop.WMPLib.dll,同样看下程序集清单:

System.BadImageFormatException: 未能加载文件或程序集“AxInterop.WMPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。

运行ildasm工具,载入AxInterop.WMPLib.dll,双击MANIFEST查看程序集清单:

明白了,编辑后自动引用了新版本AxInterop.WMPLib.dll(操作系统Windows 10),它依赖于.NET Framework 4.0,而WinForm应用程序前几年创建的使用的框架为.NET Framework 2.0,将框架版本更改为.NET Framework 4.0,问题解决。
最后,找了下先前版本中引用的AxInterop.WMPLib.dll,同样看下程序集清单:
