2

私は C# Windows フォーム アプリケーションに取り組んでいます。コードを介してアプリケーションを実行すると、すべて正常に動作します。アプリケーションのインストーラーを作成しています。EXEを難読化しています。しかし、インストーラーをインストールしてアプリケーションを実行すると、次のようなエラーが発生します。

「不正なメソッド トークンです。」スタック Strace : System.Runtime.CompilerServices.RuntimeHelpers.PrepareDelegate(Delegate d) at System.AppDomain.add_UnhandledException(UnhandledExceptionEventHandler value) at JB80W1Fe10kqFU9DUbJ.irnkUeFZDYQQy76X09T..ctor(ExportFilterOptions , Boolean )

この問題に関するヘルプをいただければ幸いです。

4

1 に答える 1

1

このタイプのエラーは、難読化の問題に関連していることが多く、特に .dll を介して .dll 内のメソッドを呼び出している場合に発生しますInvokeMember。試すこと:

  1. テストとして、難読化せずに、問題が解決するかどうかを確認してください。もしそうなら、難読化ツールに関連していることがわかります。

  2. 別の難読化ツールを試してください。それらの品質は、特に「コミュニティ」と「無料」のものでかなり大きく異なります。本番ビルド用の優れた商用難読化ツールを入手してください。

  3. テストとして、インストーラーなしで試してください。インストーラーが予期しない場所にファイルを置き、実行時エラーが発生することがあります。ファイルがすべて意図したディレクトリにインストールされていることを確認してください。

  4. 呼び出しを行う場合は、すべてのメソッド パラメータの数と型が一致していることを確認してくださいInvokeMember。それらが一致しない場合、実行時エラーが発生し、コンパイラが検証する方法がなかったコードになります。

于 2013-08-09T20:37:29.163 に答える