0

個別のアセンブリに 2 つのインストーラーがあり、1 つはブートストラップ コードがあるアセンブリにあり、もう 1 つはアセンブリを参照しています。

私は次のようにブートストラップしています:

container = new WindsorContainer()
   .Install(FromAssembly.InThisApplication(), FromAssembly.Named("My.Other.Assembly"));

2 番目のアセンブリ ("My.Other.Assembly") のインストーラーが何らかの理由で 2 回呼び出され、重複するコンポーネントを登録しようとすると明らかに問題が発生します。

なぜそれが起こるのでしょうか?

4

1 に答える 1

3

FromAssembly.InThisApplication()現在のアセンブリと、現在のアセンブリ名をプレフィックスとして持つすべてのアセンブリをスキャンします (ただし、ドットを含みます)。

Myそのため、アプリが または のいずれかMy.Otherで呼び出された場合、アプリを明示的に含めた結果とMy.Other.Assembly結果としてスキャンされます。FromAssembly.InThisApplication()

これがあなたを悩ませているのかもしれませんか?

于 2012-06-12T12:15:56.850 に答える