Мой вопрос действительно повторение старого вопроса разместил здесь: Ninject 2.2 multiple bindingsNinject 3 несколько привязок
Кажется, что кто-то собирается иметь дело с этим еще в 2011 году Кто-нибудь знает, есть ли какой-нибудь способ, чтобы выключить такие предупреждения в Ninject? Или какое-то другое обходное решение?
EDIT
В ответ на @BatteryBackupUnit, вот моя точная проблема:
У меня есть несколько библиотек ... и в моей основной библиотеке, я что-то вроде этого:
- Найти все сборки, на которые ссылается основная заявка (включая хост)
- Найти все типы, наследующие от
IDependency
от всех этих сборок вранье. - Автоматическая регистрация всех тех, кто, как транзиторной
Затем из другой библиотеки (которые могут или не могут ссылаться на хост-приложение), у меня есть это:
Kernel.Bind<IDbContextFactory>().To<DbContextFactory>().InSingletonScope();
Здесь IDbContextFactory
также IDependency
, поэтому он загрузился уже основной библиотекой, и теперь я зарегистрирую его здесь, но с другим объемом (singleton).
Из опыта (и проверив его ранее) Я знаю, что это не проблема в Autofac, но Ninject дает мне это сообщение об ошибке, уже зарегистрировав его.
В идеале было бы лучше просто отменить все предыдущие регистрации ... «каскадный стиль» (за неимением лучшего выражения) ..
Насколько я знаю, вы не можете «переопределить регистрацию каскадного стиля» - по крайней мере, не легко. Однако мне интересно, что такое значение 'IDependency'. Для чего используется этот интерфейс? Я подозреваю, что вы можете легко решить проблему, используя другой дизайн - без усложнения всего программного обеспечения. – BatteryBackupUnit