У меня есть приложение WPF .NET 3.5 SP1, которое на данный момент используется как минимум на сотнях, если не тысячах машин. Приложение хранит древовидную структуру в XML, которая загружается при запуске. Как только я пытаюсь загрузить XML с помощью сериализации, Boom. Это происходит только на одном компьютере конечного пользователя. У него есть права администратора, много места на диске, память и т. Д.
Прежде чем я проигнорировал это как проблему с компьютером или антивирусную / шпионскую программу и включил его ИТ-отдел (кропотливый процесс), я хотел посмотреть, есть ли лучший способ отследить это и получить больше информации. Поскольку XmlSerialization является черным ящиком, я не уверен, что как разработчик я могу сделать гораздо больше. Или я могу?
Любые советы приветствуются, полная ошибка ниже.
Невозможно создать временный класс
(Результат = 1). ошибка CS2000: компилятор
инициализация не удалась неожиданно -
«Недостаточно памяти для
завершите эту операцию. «
Stack Trace:
at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type)
at Internal.Objects.TreeSetItemManager.LoadTreeItems(String fileName) in TreeSetItemManager.cs:line 41
at SPA.Windows.MasterWindow.OnInitialized(EventArgs e)
5/28/2009 10:16:20 Message:
External component has thrown an exception.Details:
at MS.Win32.UnsafeNativeMethods.ITfThreadMgr.Activate(Int32& clientId)
at System.Windows.Input.TextServicesContext.RegisterTextStore(DefaultTextStore defaultTextStore)
at System.Windows.Input.DefaultTextStore.get_Current()
at System.Windows.Input.TextServicesContext.SetFocusOnDefaultTextStore()
at System.Windows.Input.InputMethod.EnableOrDisableInputMethod(Boolean bEnabled)
at System.Windows.Input.TextServicesManager.Focus(DependencyObject focus)
at System.Windows.Input.KeyboardDevice.ChangeFocus(DependencyObject focus, Int32 timestamp)
at System.Windows.Input.KeyboardDevice.TryChangeFocus(DependencyObject newFocus, IKeyboardInputProvider keyboardInputProvider, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
at System.Windows.Input.KeyboardDevice.Focus(DependencyObject focus, Boolean askOld, Boolean askNew)
at System.Windows.Input.KeyboardDevice.Focus(IInputElement element)
at System.Windows.Interop.HwndKeyboardInputProvider.FilterMessage(IntPtr hwnd, Int32 message, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)