1

私の質問は、ここに投稿された古い質問の繰り返しです: Ninject 2.2 multiple bindings

誰かが2011年にこれに対処しようとしていたようです.Ninjectでそのような警告をオフにする方法があるかどうか誰か知っていますか? または他の回避策はありますか?

編集

@BatteryBackupUnitへの対応として、ここに私の正確な問題があります:

私は複数のライブラリを持っています...そして私のコアライブラリでは、次のようなことをしています:

  1. ホスト アプリケーション (ホストを含​​む) によって参照されるすべてのアセンブリを検索します。
  2. IDependencyこれらすべてのアセンブリから継承するすべての型を検索します。
  3. それらすべてをトランジェントとして自動的に登録します

次に、別のライブラリ(ホストアプリによって参照される場合とされない場合があります)から、これがあります:

Kernel.Bind<IDbContextFactory>().To<DbContextFactory>().InSingletonScope();

ここIDbContextFactoryにも があるIDependencyため、コア ライブラリによって既に読み込まれているため、ここに登録しますが、スコープは異なります (シングルトン)。

経験から (そして以前にテストしたことから)、Autofac ではこれが問題ではないことはわかっていますが、Ninject では既に登録されているというエラー メッセージが表示されます。

理想的には、以前の登録を上書きする方が良いでしょう...「カスケードスタイル」(より良いフレーズがないため)..

4

1 に答える 1