私たちのカスタマーサポートは奇妙な問題を抱えていました. アプリの起動段階でエラーが発生したため、アプリを起動できなかったデバイスが毎日あります。
この問題をさらに調査しているときに、次の投稿を見つけました。残念ながら、それは私の問題には当てはまりません。
Windows CE がリセット時に .NET CF を削除する
GAC はウォーム ブート後も存在するため、問題はそこから発生しません。
詳しく調べてみると、log4net.dll の破損が原因であることがわかりました。問題が発生する直前に、ソフトウェアの更新が実行されています。基本的に何が起こるかは次のとおりです。
- 新しいバージョンをダウンロードし
ます - デバイスを再起動します (ウォーム)
- ベンダー固有の CAB インストーラーが CAB をインストールします
- デバイスが再度再起動されます
- sysbackup が実行され
ます - 別のウォーム ブート
- 独自のアプリケーションが開始されます
最後のステップで、log4net アセンブリが見つからないか無効であるというエラー (そのようなもの) でアプリがクラッシュします。アセンブリの作業バージョンとデバイス上のアセンブリを比較したところ、ソフトウェア更新の途中で log4net アセンブリが破損していることがわかりました。奇妙なことに、アセンブリの最初に異なる構成 XML の一部があります。
私には、バッファまたはオフセットに何か問題があるように見えます。誰かが前にそのような行動を見たことがありますか? 現時点では、2 つのデバイスのうちの 1 つにしか表示されません。残念ながら、私たちの 2 番目のデバイスは他のいくつかの問題に苦しんでいるため、エラーが発生した最初のデバイスほど広くは広がっていません。したがって、1 つのデバイス タイプのみに限定されているかどうかはわかりません。
これに関する提案はありますか?