Проигрыватель Windows Media не работает в Windows XP с использованием приложения Visual Studio - PullRequest
0 голосов
/ 08 августа 2011

Я встроил элемент управления WMP в свое приложение Visual Studio 2010, которое работает в Windows 7 (Framework 4.0), но при установке приложения на winXP я получаю следующую ошибку:

System.IO.FileNotFoundException: Could not load file or assembly 'Interop.WMPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'Interop.WMPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
   at Aquila_Media_Manager.modMediaPlayer.Play_File()
   at Aquila_Media_Manager.MainForm.tsbPlay_Click(Object sender, EventArgs e) in C:\Users\Micba\Documents\Visual Studio 2010\Projects\Aquila MedMan\MainForm.vb:line 2718
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Я думаю, этопроблема с ссылками, но я добавил ссылки на библиотеки WMP (axinterop.wmplib.dll и interop.wmplib.dll).WMP работает на компьютере с XP, но не при вызове из моего приложения.

Я искал в Интернете 5 дней, изменил ссылки и переустановил медиаплеер на компьютере с XP, но ничего не работает.

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 29 февраля 2012

Измените конфигурацию сборки на x86 вместо AnyCPU. Это создаст его как 32-битное приложение, и Interop.WMPLib будет работать нормально. Проблема в том, что не существует версии Interop WMPLib для 64-битной системы, по крайней мере, насколько я могу найти.

...