2016-06-22 5 views
0

私たちは強力な名前を付けられ、GACに置かれた多数のライブラリを持っています。我々はその練習を離れようとしている。ここでは私が現時点で対処しなければならないシナリオがあります。署名済みのDLLを署名なしのものに置き換えるとどうなりますか?

署名や厳密な名前が正しくないDLLを(私たちは鍵を再現できないので)置き換えています。私は、符号なしバージョンを使用してコンポーネント/コードを再コンパイルし、後でそれを使用して符号なしコピーで展開します。署名されたコピーをGACから削除すると、他のコンポーネント(同じプロービングを使用する)は、再コンパイルせずに新しいものを消費するか、依然として署名付きバージョンを要求しますか?

ありがとうございます。

+0

コンパイルされたコードでどのように使用され、定義されているかによって異なります。ただし、強力な名前のバリデーションを無効にすることもできます([参照])(https://blogs.msdn.microsoft.com/securitytools/2009/12/30/how-to-turn-off-strong-name -validation /)。 –

+0

ありがとうございます。私は前にそれを読んだと思う。私は追加することを忘れてしまった。それは、他の方法がない限り、他のコンポーネントを再コンパイルする必要がないことが望ましい、またはそれがひどく巻き込まれて有害になるということである。 – KonB

+0

おそらく何も起こりません。.NET 3.5SP1以来、完全な信頼モードで強力な名前検証が無効になっている可能性があります。コードの残りの部分を再コンパイルするのに多くの時間を与えます。 –

答えて

0

厳密な名前の署名は、アセンブリが完全信頼のアプリケーションドメインに読み込まれたときに検証されません。このバイパス機能の詳細については、linkを参照してください。助けてください

+0

ありがとうございます。私は、既存のアセンブリを混乱させず、異なる名前のアセンブリを作成してゆっくりと移行することに決めたと思っています。抵抗が少ないところには常に水が流れます。 – KonB

関連する問題