これはおそらく非常に簡単ですが、私は困惑しています (そして私は c# の初心者です)。相互に参照する 3 つのアセンブリがあります (たとえば、デリゲート メソッドの通知の登録、パブリック メソッドの呼び出しなど)。それらはすべて、厳密な名前で署名しようとするまで正常にコンパイルされます。他の 2 つは厳密な名前を持っていないため、それらのいずれもコンパイルできません。私は何が欠けていますか?3 つすべてに対して厳密な名前のファイルを作成しましたが、snk を含めてコンパイルすることができません。
2 に答える
4
3 つすべてで使用する 1 つの snk ファイルを作成した場合は、プロジェクトのコンテキスト メニューから [既存の項目を追加] を選択します。
snk ファイルを参照し、[追加] ボタンの横にある矢印をクリックして [リンクとして追加] を選択します。
次に、プロジェクトのプロパティで、[署名] タブで [アセンブリに署名] チェックボックスをオンにして、プロジェクトに追加したキーファイルを選択します。
これでうまくいくはずです。
于 2010-01-14T20:41:16.660 に答える
2
厳密な名前のアセンブリは、他の厳密な名前のアセンブリのみを参照できます。
厳密な名前のアセンブリを参照すると、バージョン管理や名前保護などの特定の利点が期待できます。次に、厳密な名前のアセンブリが単純な名前のアセンブリを参照すると、これらの利点がなくなり、厳密な名前のアセンブリを使用することから得られる利点が失われ、DLL の競合が発生します。したがって、厳密な名前のアセンブリは、他の厳密な名前のアセンブリのみを参照できます。
MSDNから引用。
于 2010-01-14T20:41:33.963 に答える