0

Windows Mobile 6で問題が発生しています。アプリを開発し、mscorlib.dllアセンブリにあるSystem.Threading名前空間にあるTimerクラスを使用しました。問題は、デバッグするとき、またはデバイス(HTC ELF0300)でVisual Studio 2008から適切なcabファイルを作成して展開するときは正常に実行されますが、クライアントがデバイス(HTC Tilt 2)に展開すると、TypeLoadExceptionが発生することです。 System.Threading.Timer.ring()、それをたくさんグーグルして、プロジェクトで参照したすべてのアセンブリをIL DASMとビジュアルスタジオのオブジェクトエクスプローラーで調べた後、キャブに追加されたmscorlib.dllを確認しました展開用のプロジェクトにSystem.Threading名前空間がなく、メインプロジェクトにあるmscorlib.dllで、オブジェクトエクスプローラーにSystem.Threading名前空間が表示されています。

しかし、cabファイルに存在するmscorlib.dllに名前空間がない場合、cabファイルが展開されてデバイス(HTC ELF0300)で正常に実行されるが、HTC Tilt2では実行されない場合は、まだ困惑していますか?cabファイルに適切なmscorlib.dllを追加するにはどうすればよいですか?

どんな助けでも大歓迎です。ありがとうございました。

ズネア・ミーニャス。 http://www.tkxel.com/

4

1 に答える 1

1

クライアントは、適切なバージョンの.NET Compact Frameworkをデバイスにインストールしていますか?

mscorlib.dllは.NETCompactFrameworkの一部であり、正しくインストールされていればユーザーのデバイスに表示されるため、CABファイルに含める必要はありません。

クライアントにデバイスでファイルエクスプローラーを開くことができるかどうかを尋ねcgautil.exe\Windowsフォルダー内のファイルを表示できるかどうかを確認します。

表示されている場合は、開いて、画面に表示されているバージョン番号(2.0.xxxxまたは3.5.xxxx)を確認するように依頼します。これは、彼がインストールした.NETCFのバージョンになります。

表示cgautil.exeされない場合は、.NET CFがインストールされていないため、アプリケーションを実行する前にインストールする必要があります。

于 2010-02-11T15:15:47.807 に答える