Краткий ответ: нет, это невозможно.
Для этого потребуется возможность представлять все компоненты и их зависимости (метаданные контейнера) в виде графика для его анализа. Проблема в том, что чем сложнее контейнер, тем сложнее его достичь. Взять к примеру Виндзор. Его многочисленные точки расширения делают зависимости слишком динамичными, чтобы представлять их в виде графика. Ленивые загрузчики компонентов, селекторы обработчиков, фабрики, участники моделирования компонентов, субресольверы - все они участвуют в процессе и могут быть произвольным кодом пользователя, что делает невозможным статический анализ.
Статический анализ мог бы быть возможен для тривиального контейнера, но тогда этот гипотетический контейнер был бы довольно бесполезен для реальных проектов.
Так что, как обычно, это компромисс, и лучшее, что мы можем сделать, - это иметь несколько тестов, которые осуществляют фактическое разрешение всех зарегистрированных компонентов в контейнере. StructureMap имеет метод AssertConfigurationIsValid () для этого.
Несмотря на это, могут быть более тонкие ошибки, которые не могут быть обнаружены, например, проблемы образа жизни .