Il problema è iniziato quando stavo cercando di utilizzare la soluzione qui di seguito per utilizzare Ninject 3 con un RC progetto Web Api MVC 4:errore quando lo smaltimento di un IActivationBlock e l'importazione Ikernel
http://www.peterprovost.org/blog/2012/06/19/adding-ninject-to-web-api/
Questa soluzione utilizza IActivationBlock (creato con il metodo BeginBlock da IKernel) per implementare l'ambito delle chiamate. Con un normale progetto Ninject, sembra funzionare bene, ma quando il progetto utilizza l'estensione Ninject.Extensions.Interception.DynamicProxy, la seguente eccezione si verifica quando il metodo Dispose blocco di attivazione è chiamato:
Errore caricamento componente Ninject IAdviceRegistry
Nessun componente è stato registrato nel contenitore del componente del kernel.
E, la prossima volta quando viene creata una nuova ActivationBlock e il metodo Resolve viene chiamato, la seguente eccezione si è verificato:
Errore durante il caricamento Ninject componente Icache
Nessun tale componente è stato registrato nel contenitore del componente del kernel.
Sembra che il problema non sia direttamente correlato all'aggiornamento MVC, ma qualche incompatibilità tra DynamicProxy e IActivationBlock.
Edit:
La fonte del problema è quando uno dei tipi richiede Ikernel sul costruttore, e non è direttamente legato alla DynamicProxy, ma la prima eccezione si verifica solo quando si fa riferimento a questa assemblea.
Quindi, il secondo errore (correlato a ICache) si verifica sempre se il tuo tipo richiede IKernel.
Sto vedendo anche questo –
Qualcuno capisce mai un workarround? – dtabuenc