2011-01-28 28 views
0

1時間のグーグルでグーグルが問題を解決しました。厳密に名前のついたアセンブリの検証に失敗しました。署名されていないプロジェクトから参照されました。

私はC#フレームワーク3.5クラスライブラリプロジェクトを持っているので、シンプルなキー(サインインが遅れていない)を作成してサインインし、DLLをobsfuscatedしました。

その後、私はWindowsフォームアプリケーションからそのアセンブリにアクセスしようとしていますが、アセンブリのメソッドを呼び出したときにエラーが発生します。"Strong Name Validation Failed"

強く名前の付いたアセンブリを参照するWindowsアプリケーションにも署名する必要があるのか​​、Windowsアプリケーションのソースコードのusingディレクティブに何らかの特殊タグを追加する必要があるかどうかはわかりません。

私は新しい名前で働いていますので、これに対処する方法についていくつかアドバイスをしてください。侵入者が自分のバージョンのアセンブリを置き換えることができないようにするために、アセンブリの名前を強く指定する必要があります。

ありがとうございます。すべての

まず、私はアセンブリをobsfuscatedとき、生成されたSNKはもう働いていなかったので、解決策:あなたの時間を奪うため

答えて

1

申し訳ありませんが、私は私の問題の原因とそのための解決策を見つけましたアセンブリを難読化した後にSNKを再生成することである。

第2に、強力な名前のアセンブリを検証するために、WindowsアプリケーションにSNKファイルを含める必要がありました。

両方の変更を加えれば、すべてがうまくいきました。

お時間をありがとうございました。

+1

これが説明しています。アセンブリに署名すると、.Netファイルが改ざんされていないかチェックされます。 obfuscatorがファイルを変更するため、.Netは改ざんされていると判断します。アセンブリを使用するアプリケーションには、署名する必要はありません。署名されたアセンブリは、他の署名されたアセンブリのみを参照できます。 –

関連する問題