Моя Visual Studio случайно аварийно завершает работу. Средство просмотра событий показывает следующую ошибку
Имя сбойного приложения: devenv.exe, версия: 12.0.40629.0, отметка времени: 0x5590c8a4
Имя сбойного модуля: KERNELBASE.dll, версия: 10.0.15063.674, отметка времени: 0x6d16dd24
Код исключения: 0xe0434352
Смещение ошибки: 0x000eb872
Идентификатор сбойного процесса: 0x3b00
Время запуска сбойного приложения: 0x01d34ecf7a049150
Путь сбойного приложения: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe
Путь сбойного модуля: C:\Windows\System32\KERNELBASE.dll
Идентификатор отчета: xxxxxxxx-867c-4c54-b259-c28a7b9d8151
Полное имя сбойного пакета: Идентификатор сбойного связанного с пакетом приложения:
Я попытался запустить команду devenv /SAFEMODE в (C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE)
но все же это происходит, а иногда также появляется диалоговое окно «недостаточно места для хранения»
Приложение: devenv.exe
Версия фреймворка: v4.0.30319
Описание: Процесс был прерван из-за необработанного исключения.
Информация об исключении: System.ComponentModel.Win32Exception в MS.Win32.UnsafeNativeMethods.RegisterClassEx(WNDCLASSEX_D)
Журнал активности
(0x80004005): недостаточно памяти для обработки этой команды
в MS.Win32.UnsafeNativeMethods.RegisterClassEx(WNDCLASSEX_D wc_d)
at MS.Win32.HwndWrapper..ctor (Int32 classStyle, стиль Int32, Int32 exStyle, Int32 x, Int32 y, ширина Int32, высота Int32, имя строки, родитель IntPtr, крючки HwndWrapperHook[])
в System.Windows.Interop.HwndSource.Initialize (параметры HwndSourceParameters)
в System.Windows.Interop.HwndSource..ctor (параметры HwndSourceParameters)
в System.Windows.Controls.Primitives.Popup.PopupSecurityHelper.BuildWindow (Int32 x, Int32 y, Visual PlacementTarget, логическое прозрачное значение, хук HwndSourceHook, обработчик AutoResizedEventHandler)
в System.Windows.Controls.Primitives.Popup.BuildWindow(Visual targetVisual)
в System.Windows.Controls.Primitives.Popup.CreateWindow (логический asyncCall)
в System.Windows.Controls.Primitives.Popup.OnIsOpenChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
в System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
в System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
в System.Windows.DependencyObject.NotifyPropertyChange (аргументы DependencyPropertyChangedEventArgs)
в System.Windows.DependencyObject.UpdateEffectiveValue (EntryIndex entryIndex, DependencyProperty dp, метаданные PropertyMetadata, EffectiveValueEntry oldEntry, EffectiveValueEntry и newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType OperationType)
в System.Windows.DependencyObject.SetValueCommon (DependencyProperty dp, значение объекта, метаданные PropertyMetadata, логическое значение coerceWithDeferredReference, логическое значение coerceWithCurrentValue, тип операции OperationType, логическое значение isInternal)
в System.Windows.DependencyObject.SetValue (DependencyProperty dp, значение объекта)
в Microsoft.VisualStudio.Language.Intellisense.Implementation.MouseTrackingQuickInfoPresenter.Render()
в Microsoft.VisualStudio.Language.Intellisense.Implementation.IntellisenseSessionStack.OnSessionPresenterChanged (отправитель объекта, EventArgs e)
в Microsoft.VisualStudio.Language.Intellisense.Implementation.IntellisenseSession.RaisePresenterChanged()
в Microsoft.VisualStudio.Language.Intellisense.Implementation.QuickInfoSession.Recalculate()
в Microsoft.VisualStudio.Language.Intellisense.Implementation.QuickInfoSession.Start()
в Microsoft.VisualStudio.Language.Intellisense.Implementation.QuickInfoBroker.TriggerQuickInfo (текстовое представление ITextView, триггерная точка ITrackingPoint, логическое значение trackMouse)
в Microsoft.Html.Editor.HtmlQuickInfoController.OnMouseHover (отправитель объекта, MouseHoverEventArgs e)
в Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.RaiseHoverEvents()
ОБНОВИТЬ
Мое приложение запускается один или два раза в безопасном режиме, а затем даже закрывается. При попытке перезапустить визуальную студию это не удается. Затем средство просмотра событий или командная строка не работают, и мне нужно перезагрузить компьютер, чтобы что-то заработало.
ОБНОВЛЕНИЕ 2
Похоже на это и это моя проблема. Теперь, как мне использовать Dispatcher в моем коде?
public string ConvertRtfToHtml(string rtfText)
{
try
{
var thread = new Thread(ConvertRtfInSTAThread);
var threadData = new ConvertRtfThreadData { RtfText = rtfText };
thread.SetApartmentState(ApartmentState.STA);
thread.Start(threadData);
try
{
thread.Join();
}
catch(ThreadStateException e){
logger.Error("ThreadStateException " + e.Message);
}
catch (ThreadInterruptedException e) {
logger.Error("ThreadInterruptedException " + e.Message);
}
return threadData.HtmlText;
}
catch (Exception e){
logger.Error("ConvertRtfToHtml: " + e.InnerException.Message);
return "Error";
}
}
ConvertRtfToHtml вызывается из цикла ConvertRtfInSTAThread использует элемент управления RichTextBox