このマルチスレッド WPF アプリケーションと、それをテストしている 2 つの異なるマシンがあります。
1 つ目は、VMware クライアント上の Windows 7 Professional SP1 仮想マシンです。2 つ目は、Win 7 Professional 物理マシンです。SP1 なし。
最初のマシンでは、アプリケーションは正常に実行され、2 番目のマシンでは、次の呼び出し時にアプリケーションが AccessViolation 例外を出力します。
App.Current.Dispatcher.Invoke(() => { do stuff });
次の方法で作成されたスレッドから:
ThreadPool.QueueUserWorkItem( /* callback that calls the dispatcher */ );
.Net フレームワークのバージョンが同じ場合に、なぜこれが異なる動作をするのか教えていただけますか? サービスパックのせいですか?どうすればこれを解決できますか?