У меня есть приложение, которое отлично работает на нескольких машинах, но не на одном критическом демонстрационном устройстве. Это простое приложение winform, которое обращается к веб-камере и пытается записать видео. Это приложение сразу вылетает при запуске. Вот сообщение об исключении:
*** Текст исключения ******* System.Runtime.InteropServices .COMException (0x80040154): класс не
зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
в System.Runtime.InteropServices.Marshal.BindMoniker (IMoniker pmk,
UInt32 grfOpt, Guid & iidResult, Object & ppvResult) в
System.Runtime.InteropServices.Marshal.BindToMoniker (String
monikerName) в DirectX.Capture.Capture.createGraph () в
C: \ Users \ SONY \ Downloads \ Compressed \ DirectXCapture_demo_Enhanced \ DirectXCapture_demo \ DirectX.Capture \ Capture.cs: линия
1107 at DirectX.Capture.Capture..ctor (Filter videoDevice, Filter
audioDevice) в
C: \ Users \ SONY \ Downloads \ Compressed \ DirectXCapture_demo_Enhanced \ DirectXCapture_demo \ DirectX.Capture \ Capture.cs: линия
928 at Ivypromise.webcame.WebCame.buttonRecord_Click (Отправитель объекта,
EventArgs e) в
E: \ Project_extra \ LiLi_project \ Ivypromise_desktopApp \ Ivypromise \ Ivypromise \ webcame \ WebCame.cs: линия
209 в System.Windows.Forms.Control.OnClick (EventArgs e) в
System.Windows.Forms.Button.OnClick (EventArgs e) в
System.Windows.Forms.Button.OnMouseUp (MouseEventArgs mevent) в
System.Windows.Forms.Control.WmMouseUp (Message & m, MouseButtons
кнопка, Int32 клики) в
System.Windows.Forms.Control.WndProc (Message & m) в
System.Windows.Forms.ButtonBase.WndProc (Message & m) в
System.Windows.Forms.Button.WndProc (Сообщение & m) в
System.Windows.Forms.Control.ControlNativeWindow.OnMessage (Message & m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc (Сообщение &
m) в System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32
msg, IntPtr wparam, IntPtr lparam)
***** Загруженные сборки ******* mscorlib
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4963 (win7RTMGDR.050727-4900)
CodeBase: файл: /// C: /Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
---------------------------------------- Ivypromise
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: файл: /// C: /Users/Jenny/Dropbox/To%20share/li/Release/Ivypromise.exe
---------------------------------------- System.Windows.Forms
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4961 (win7RTMGDR.050727-4900)
CodeBase: файл: /// C: /Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
---------------------------------------- Система
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4962 (win7RTMGDR.050727-4900)
CodeBase: файл: /// C: /Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
---------------------------------------- System.Drawing
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: файл: /// C: /Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
---------------------------------------- DirectX.Capture
Версия сборки: 1.0.4380.42651
Версия Win32: 1.0.4380.42651
CodeBase: файл: /// C: /Users/Jenny/Dropbox/To%20share/li/Release/DirectX.Capture.DLL
---------------------------------------- DShowNET
Версия сборки: 1.0.0.1
Версия Win32: 1.0.0.1
CodeBase: файл: /// C: /Users/Jenny/Dropbox/To%20share/li/Release/DShowNET.DLL
---------------------------------------- System.Xml
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: файл: /// C: /Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll---------------------------------------- Microsoft.DirectX.AudioVideoPlayback
Версия сборки: 1.0.2902.0
Версия для Win32: 5.04.00.2904
CodeBase: файл: /// C: /Users/Jenny/Dropbox/To%20share/li/Release/Microsoft.DirectX.AudioVideoPlayback.DLL
***** JIT Отладка ******* Чтобы включить отладку в реальном времени (JIT), файл .config для этого приложения или компьютера
(machine.config) должно иметь значение jitDebugging, установленное в
раздел system.windows.forms. Приложение также должно быть скомпилировано
с включенной отладкой.
Например:
Когда JIT-отладка включена, любое необработанное исключение будет отправлено на
JIT-отладчик зарегистрирован на компьютере, а не обрабатывается
это диалоговое окно.