Container IoC, verifique se há erros no momento da compilação

Tenho uma pergunta simples.

Digamos que eu tenha uma solução .Net, com projetos diferentes, como algumas bibliotecas de classes (bll, dal, etc) e um projeto principal que pode ser um aplicativo da Web ou um aplicativo wpf, não import

gora, digamos que eu queira usar um contêiner de IoC (como Windsor, Ninject, Unity etc.) para resolver coisas como validadores, repositórios, implementações comuns de interface e assim por diant

Eu coloquei tudo junto. Compila e roda bem. Então, um dia, adiciono um novo serviço e, no meu código, apenas tento resolvê-lo através do contêiner de IoC. O problema é que eu esqueço de registrá-lo na configuração de Io

Tudo é compilado e o aplicativo é implantado e executado. Tudo funciona bem, exceto quando o código de uma página solicita esse novo serviço para o contêiner e o contêiner responde "ei, não sei nada sobre esse serviço".

Você registra seu erro e a página de erro amigável. Você verificará o erro, verá o problema e o corrigirá. Bastante padrão.

gora, digamos que queremos melhorar o processo e, de alguma forma, poder saber em tempo de compilação se todos os serviços que esperamos que o contêiner IoC manipule estejam registrados corretamente no códig

Como conseguir isso? Uma coisa: os testes de unidade são descartados a partir de respostas possíveis, estou procurando outro caminho, se existi

Pensamentos

EDIT - Após algumas respostas e comentários, parece que os testes de unidade são realmente a única maneira de obter esse recurs

O que eu gostaria de saber é que, se os testes de unidade não fossem possíveis - por qualquer motivo - e, portanto, a IoC não pudesse ser testada em tempo de compilação, isso impediria o uso de um contêiner de IoC e a opção de instanciação direta em todo o seu código? Quero dizer, você consideraria inseguro e arriscado usar a IoC e a ligação tardia e vê suas vantagens sendo superadas por essa "falha"?

questionAnswers(6)

yourAnswerToTheQuestion