Сначала немного предыстории:
VB.NET 2005 Приложение, которое обращается к серверной части MS-SQL и использует несколько веб-служб для сбора / публикации данных.
По ошибке:
Наше приложение таинственно вылетает на одном из наших клиентских компьютеров, оно отлично работает на других компьютерах в их офисе, но не на компьютере большого вигса, что теперь делает его моей проблемой. Похоже, это какой-то программный конфликт, поскольку они заменили компьютер (с той же конфигурацией программного обеспечения, которую я предполагаю), но ошибка все еще сохраняется. В настоящее время я жду ответа от их ИТ-персонала о том, есть ли какие-либо известные различия между настройкой этого пользователя и другими в этом офисе.
Что еще более раздражает, приложение просто исчезает. Мы не можем легко отладить его, так как сообщения об ошибках не отображаются, хотя у нас есть специальный код, чтобы перехватывать необработанные исключения и отображать сообщение, оно просто закрывается.
Однако наш код обработки исключений - это , вызываемый (хотя бы частично), поскольку он успешно регистрирует следующую ошибку (просто не показывает ее пользователю, как другие обычные ошибки):
Error Message: Queue grow factor must be between 1 and 10.
Stack Trace: at
System.Collections.Queue..ctor(Int32 capacity, Single growFactor) at
System.Collections.Queue..ctor() at
System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous) at
System.Windows.Forms.Control.BeginInvoke(Delegate method, Object[] args) at
System.Windows.Forms.Form.OnLoad(EventArgs e) at
System.Windows.Forms.Form.OnCreateControl() at
System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at
System.Windows.Forms.Control.CreateControl() at
System.Windows.Forms.Control.WmShowWindow(Message& m) at
System.Windows.Forms.Control.WndProc(Message& m) at
System.Windows.Forms.ScrollableControl.WndProc(Message& m) at
System.Windows.Forms.ContainerControl.WndProc(Message& m) at
System.Windows.Forms.Form.WmShowWindow(Message& m) at
System.Windows.Forms.Form.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)
Теперь действительно любопытно, что мы вообще не используем Очереди в коде, который должен быть запущен на данном этапе. (Пользователь открывает приложение, пытается войти, bam, происходит ошибка). Единственные очереди, на которые есть ссылки в коде, - это очень специфическая функция, которая когда-либо запускается только в собственном режиме тестирования. И там нет никаких проблем.
Я в некотором затруднении относительно того, что делать с этой проблемой, поэтому мы будем благодарны за любой вклад.
Редактировать: Хорошо, я наконец-то связался с их ИТ-отделом, он работал под управлением .NET 2.0, как я и подозревал. У меня был ИТ-специалист, который восстанавливал установку .NET из «Установка и удаление программ», и после этого проблема больше не существовала. Так что на самом деле это была проблема .NET