2011-06-06 7 views
0

私は.net dllを持っていますが、それはPublicTokenをnullに設定して別の.net dllを使用します。今は別のdllの同じバージョンを使用する必要がありますが、PublicTokenを別の値に設定してください。最初のdllの再コンパイルを必要とせずに使用する方法がありますか(ソースはありません)。再コンパイルせずに異なるPublicTokenプロパティを持つdllを使用します。

答えて

1

主にあなたがやろうとしていることは、強力なネーミングのコンセプトの目的を打ち負かすことなので、これを行うためのクリーンな方法はないと思います。 bindingRedirectは、キーではなくバージョンでのみ動作します。

sn.exe -Vr TheAssembly 

あなたはそのhereについての詳細を学ぶことができます:私は考えることができる唯一の方法は、厳密な名前の検証を無効にすることです。

問題は、これが実行されるすべてのマシンで実行する必要があることです。

もう1つの方法は、Mono.Cecilのようなツールを使用して、公開鍵トークンをモジュールのアセンブリ参照から削除し、もはや気にしないようにすることです。自分自身の名前が強い場合は、それも削除する必要があります。このオプションは一般的には機能しますが、商用製品の場合は、ほとんどの場合、EULAの形式に違反します。

関連する問題