Motorola MC3100 (CE 6.0 バージョンのみ) で .NET CF 3.5 アプリケーションを終了すると、「アプリケーション xxx で重大なエラーが発生したため、シャットダウンする必要があります」というエラー メッセージが表示されます。次に、アプリケーションが再び機能するように、デバイスをウォーム ブートする必要があります。
このコードは、アプリケーションがシャットダウンされるまで正常に機能し、アプリケーションのコントロールにフォントが設定されている場合にのみ失敗します。.NET CF 2.0 や、私が .NET CF 3.5 で試したその他すべての Motorola、Intermec、Psion、HHC デバイスでも、すべて正常に動作します。
ここに私の現在のテストコードがあります:
[MTAThread]
static void Main()
{
Control oCtrl = new Control();
oCtrl.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);
// Setting the controls font to null works
// oCtrl.Font = null; Works
// Setting the Control to null does not work, still get error
// oCtrl = null; Doesn't work
// Setting a font, not on a control, also works fine.
// System.Drawing.Font font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);
}
関連すると思われるリンクをいくつか見ました。
しかし、これまでのところ、私が見つけた唯一の推奨事項は、アプリケーションでフォントを削除することです. この場合、リンクされたアセンブリを含め、フォントが設定されている場所が多すぎて不可能です。
他の誰かがこのようなものを見たことがありますか。これらのバージョンでは、コントロールがフォントを適切に破棄していないことに関係しているようです。