0

1 時間グーグル検索した後、私が経験している問題に対する正しい答えが見つかりません。助けていただければ幸いです。

私は C# フレームワーク 3.5 クラス ライブラリ プロジェクトを持っているので、単純なキーを作成して署名し (遅延サインインではありません)、DLL を難読化しました。

次に、Windows フォーム アプリケーションからそのアセンブリにアクセスしようとしていますが、アセンブリのメソッドを呼び出すと、「厳密な名前の検証に失敗しました」というエラーが表示されます。

厳密に名前が付けられたアセンブリを参照するために Windows アプリケーションにも署名する必要があるのか​​ 、それとも Windows アプリケーションのソース コードの using ディレクティブに特別なタグを追加する必要があるのか​​ わかりません。

私は強い名前を扱ったばかりなので、これに対処する方法についてアドバイスをお願いします。侵入者がアセンブリのバージョンを置き換えることができないことを保証するために、アセンブリに厳密な名前を付ける必要があります。

前もって感謝します。

4

1 に答える 1

1

お時間を頂戴して申し訳ありません。問題の原因と解決策を見つけました。

まず、アセンブリを難読化すると、生成された SNK が機能しなくなったため、アセンブリを難読化した後に SNK を再生成することで解決します。

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

両方の変更により、すべてがうまくいきました。

とにかくお時間をいただきありがとうございます。

于 2011-01-28T20:34:47.177 に答える