これが状況です。私は DLL A と BAdll を参照しており、B.dll のコードを使用しています。B.dLL は想定どおりの動作をしていないため、デバッグ ステートメントをいくつか追加しようとしています。
ilSpy を使用して B.dll を逆コンパイルし、必要なコードを追加し、新しい B.dll をコンパイルし、古いものを削除して新しいものをドロップします。
現在、A.DLL はこのエラーで失敗します。
System.IO.FileLoadException: Could not load file or assembly 'B, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b089z623fagfd396' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'B, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b089z623fagfd393'
ソース コードも秘密鍵も持っていないので、DLL の公開鍵を古いものと一致させることはできないと思います。そのキーが一致しないため、参照は失敗します。これは設計によるものですか?私がやろうとしていることを私がするのを防ぐために特別に構築された構造ですか. 基本的に、ソースがないアプリケーションをハッキングしていると思います。
とにかく私はこれを行うことができますか?
A.dll を逆コンパイルして再構築することもできると思いますが、実際には相互に参照している DLL が約 200 あります。