4

.NET EXE アプリケーションが起動時にクラッシュします。

イベントがイベント ログに記録されます。

EventType clr20r3、P1 erxkab1r2c2ibqtnnxtpzrumqv3gqlpl、P2 1.0.2.0、P3 4f4b95e0、P4 mscorlib、P5 2.0.0.0、P6 4a7ce2b8、P7 f8b、P8 80、P9 system.io.filenotfoundexception、P10 NIL。

パラメータ(StackoverflowMSDN)を解読すると、次の結果が得られます。

  • 実行ファイル名:erxkab1r2c2ibqtnnxtpzrumqv3gqlpl
  • エグゼバージョン1.0.2.0
  • Exe ファイルのタイムスタンプ:4f4b95e0
  • アセンブリ名:mscorlib
  • 障害のあるアセンブリ バージョン:2.0.0.0
  • アセンブリ タイムスタンプのエラー:4a7ce2b8
  • アセンブリ メソッド定義の障害:f8b
  • フォルト メソッド オフセット:80
  • 例外の種類:system.io.filenotfoundexception
  • ??? :NIL

次に、アセンブリerxkab1r2c2ibqtnnxtpzrumqv3gqlplが何であるかを理解する必要があります。

よく知られたアセンブリの公開トークンだと思いますが、それが何であるかはわかりません。


以下を実行してみました

C:\WINNT>dir *erxkab* /s
 Volume in drive C has no label.
 Volume Serial Number is E0E5-1C1A
File Not Found

WinSxSサイドバイサイドのパブリックトークンファイル名としてフォルダーのどこかにあることを願っています。

: これはクライアント アプリケーション (つまり.exe) であり、ASP.net Web サイトではないことに注意してください。

4

2 に答える 2

0

通常、ファイルが見つかりません clr20r3 は、見つからない参照をロードしようとしていることを意味します。

私にとって、これは名前付きの実行可能ファイルとはまったく関係がありませんでした。代わりに、ターゲット環境にコピーされていない参照プロジェクトの不足しているライブラリであることが判明しました。私の場合、次の方法でこれを解決しました。

  • ターゲット マシンがビルド マシンとすべて同じバージョンの .NET 上にあることを確認する
  • system.* 以外のすべてのライブラリを CopyLocal: True に設定します。
  • ライブラリについても、すべての依存プロジェクトを確認してください。

これがサードパーティのライブラリである場合は、さらに問題が発生する可能性があります。その場合は、問題のあるライブラリが見つかるまで、参照を 1 つずつ削除することをお勧めします。残念ながら、検出されない依存関係がある場合、これは、不足しているファイルを直接通知しません。しかし、責任のあるライブラリを特定すると、依存関係を特定できる場合があります。

于 2012-05-29T13:24:42.643 に答える
0

それはホスティングプロセスそのものです。これは、(おそらく*) 開始しようとしている実行可能ファイルであることを意味します。実際に起動しているアプリケーションはどれですか?

※メインアプリから新しいアプリドメイン内で起動される実行ファイルの場合もあります。

于 2012-05-24T06:20:28.807 に答える