Как избежать системы.Во время выполнения.InteropServices.Исключение comexception?

в моем проекте Microsoft Surface я всегда получаю много следующих исключений:

'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_32mscorlib.0.0.0__b77a5c561934e089mscorlib.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILMicrosoft.VisualStudio.HostingProcess.Utilities.0.0.0__b03f5f7f11d50a3aMicrosoft.VisualStudio.HostingProcess.Utilities.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILSystem.Windows.Forms.0.0.0__b77a5c561934e089System.Windows.Forms.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILSystem.0.0.0__b77a5c561934e089System.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILSystem.Drawing.0.0.0__b03f5f7f11d50a3aSystem.Drawing.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILMicrosoft.VisualStudio.HostingProcess.Utilities.Sync.0.0.0__b03f5f7f11d50a3aMicrosoft.VisualStudio.HostingProcess.Utilities.Sync.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILMicrosoft.VisualStudio.Debugger.Runtime.0.0.0__b03f5f7f11d50a3aMicrosoft.VisualStudio.Debugger.Runtime.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:UsersRoflcoptrDocumentsVisual Studio 2008ProjectsMuReSeMuReSebinDebugMuReSe.vshost.exe'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILSystem.Core.5.0.0__b77a5c561934e089System.Core.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILSystem.Xml.Linq.5.0.0__b77a5c561934e089System.Xml.Linq.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILSystem.Data.DataSetExtensions.5.0.0__b77a5c561934e089System.Data.DataSetExtensions.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_32System.Data.0.0.0__b77a5c561934e089System.Data.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILSystem.Xml.0.0.0__b77a5c561934e089System.Xml.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILWindowsBase.0.0.0__31bf3856ad364e35WindowsBase.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_32PresentationCore.0.0.0__31bf3856ad364e35PresentationCore.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILPresentationFramework.0.0.0__31bf3856ad364e35PresentationFramework.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILMicrosoft.Surface.0.0.0__31bf3856ad364e35Microsoft.Surface.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILMicrosoft.Surface.Presentation.0.0.0__31bf3856ad364e35Microsoft.Surface.Presentation.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILMicrosoft.Surface.Presentation.Generic.0.0.0__31bf3856ad364e35Microsoft.Surface.Presentation.Generic.dll'
The thread 'vshost.NotifyLoad' (0x1504) has exited with code 0 (0x0).
The thread 'vshost.LoadReference' (0x131c) has exited with code 0 (0x0).
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:UsersRoflcoptrDocumentsVisual Studio 2008ProjectsMuReSeMuReSebinDebugMuReSe.exe', Symbols loaded.
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILSystem.Configuration.0.0.0__b03f5f7f11d50a3aSystem.Configuration.dll'
Step into: Stepping over method without symbols 'MuReSe.App.App'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILMicrosoft.Surface.Shell.ShellApi.0.0.0__31bf3856ad364e35Microsoft.Surface.Shell.ShellApi.dll'
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILMicrosoft.Surface.Common.0.0.0__31bf3856ad364e35Microsoft.Surface.Common.dll'
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Shell.ShellApi.dll
A first chance exception of type 'Microsoft.Surface.Common.ProcessCommunicationException' occurred in Microsoft.Surface.Shell.ShellApi.dll
A first chance exception of type 'System.Threading.WaitHandleCannotBeOpenedException' occurred in mscorlib.dll
'MuReSe.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:WindowsassemblyGAC_MSILMicrosoft.Surface.Core.0.0.0__31bf3856ad364e35Microsoft.Surface.Core.dll'
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Surface.Core.dll

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

как я могу исправить это? Я нашел только это ссылка:

http://www.mobydisk.com/softdev/techinfo/dotnetexceptions.html

там написано:

исключение, которое возникает, когда непризнанный HRESULT возвращается из вызов метода COM.

но я не знаю, что это значит....

== = = EDIT====

я последовал предложению в ответе ниже, чтобы отладить исключение. Это детальное доклад:

System.Runtime.InteropServices.COMException occurred
  Message=Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
  Source=Microsoft.Surface.Shell.ShellApi
  ErrorCode=-2147221164
  StackTrace:
       at Microsoft.Surface.Shell.NativeMethods.CoCreateInstance(Guid rclsid, Object pUnkOuter, CLSCTX dwClsContext, Guid riid)
  InnerException: 

и отладчик остановился на вызове конструктора:

 public MainWindow()
        {
            InitializeComponent();

            // Add handlers for Application activation events
            AddActivationHandlers();

           // AssemblyParser parser = new AssemblyParser();
            //parser.parse();

           // DirSearch(@"C:UsersRoflcoptrDocumentsVisual Studio 2008ProjectsTestClass.dll");
        }

Я остановился прямо в начале конструктора:

public MainWindow()

2 ответов


ваш код (или некоторый код, вызванный вами) вызывает метод COM, который возвращает неизвестное значение. Если вы сможете найти это, то вы на полпути туда.

вы можете попробовать сломать, когда возникает исключение. Перейти к Debug > Исключения... и с помощью найти... найти System.Runtime.InteropServices.COMException. Отметьте опцию, чтобы сломать, когда он брошен, а затем отладить приложение.

надеюсь, он сломается где-то значимым, и вы будете возможность отследить и найти источник ошибки.


я наткнулся на System.Runtime.InteropServices.COMException при открытии проектного решения. Иногда пользователю не хватает priveleges для запуска некоторых COM методы. Я запустил Visual Studio как администратор, и исключение исчезло.