В идеале у вас должен быть только один «корень композиции» в приложении (близко к точке входа), где компоненты соединены вместе.Это было бы единственным местом, где вы используете что-то вроде autofac.
Отдельные классы не должны зависеть от конкретной структуры внедрения зависимостей.Они должны соответствовать только общему принципу внедрения зависимостей, т.е. принимать зависимости через аргументы конструктора.Библиотеки также не должны зависеть от структуры DI.
(Не все структуры DI делают это возможным. Некоторые требуют добавления атрибутов в классы. Вы можете считать это исключением из правила.)