最初の背景: データの収集/公開に複数の Web サービスを使用して、MS-SQL バックエンドにアクセスする VB.NET 2005 アプリケーション。
エラーについて: クライアントのコンピューターの 1 つでアプリケーションが不思議なことにクラッシュし、オフィスの他のコンピューターでは正常に動作しますが、大きなホイッグスのコンピューターでは動作しません。彼らはコンピューターを交換したため(私が推測するのと同じソフトウェア構成で)、何らかのソフトウェアの競合のように見えますが、エラーは引き続き発生します。現在、このユーザーのセットアップとそのオフィスの他のユーザーのセットアップに既知の違いがあるかどうかについて、IT スタッフからの連絡を待っています。
さらに厄介なのは、アプリが消えてしまうことです。未処理の例外をキャッチしてメッセージを表示するための特定のコードがそこにあるにもかかわらず、エラーメッセージが表示されないため、簡単にデバッグできません。ただ閉じます。
ただし、例外処理コードが(少なくとも部分的に) 呼び出されているのは、この次のエラーを正常にログに記録するためです (他の通常のエラーのようにユーザーに表示されないだけです)。
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)
ここで非常に興味深いのは、この時点で実行する必要があるコードでキューをまったく使用していないことです。(ユーザーがアプリを開き、ログインを試みると、エラーが発生します) コード内のどこかで参照される唯一のキューは、社内のテスト モードでのみ実行される非常に特殊な機能にあります。そして、そこには何の問題もありません。
この問題をどこに進めればよいのか途方に暮れているので、ご意見をいただければ幸いです。
編集: わかりました、ようやく彼らの IT 部門と連絡が取れました。私が疑ったように、彼は .NET 2.0 を実行していました。IT 担当者に [プログラムの追加と削除] から .NET インストールを修復してもらったところ、その後、問題はなくなりました。つまり、実際には.NETの問題でした