Технически, вам нужен только один проект для ссылки на структуру контейнера, и это проект приложения верхнего уровня.Он ссылается на все другие проекты и задает конфигурацию компонентов.
Таким образом, вся конфигурация графа попадает из рук каждого проекта, вместо этого выбирая графы только там, где они используются.Это дает каждому приложению полную свободу в настройке компонентов, вместо того, чтобы предполагать, что компоненты будут использоваться одинаково каждый раз (что подразумевается в реестрах, которые свойственны каждому проекту).
За исключением того, что можетили может быть бесполезным: в квантовой физике, когда мы наблюдаем частицу, мы превращаем ее из каждого возможного состояния в конкретное .Фреймворки похожи в том, что они не существуют в одном состоянии до тех пор, пока их не соблюдают, что здесь означает «использовать в приложении».Это создает приложение в качестве наблюдателя, что является контекстом, в котором структура сворачивается в одну форму.
Теперь я, как правило, не хотел бы, чтобы приложение отвечало как за работающее приложение, так и за его настройку.во время выполнения.По этой причине у меня, как правило, есть проект Composition, который ссылается на другие, а также на структуру контейнера.Реальный проект приложения может затем ссылаться на проект Composition.Это выводит регистры из каждого проекта, включая проект приложения, создавая связную сборку, единственной целью которой является определение состава конкретного приложения.