Usiamo Ninject 3.0 per risolvere una classe. Abbastanza noioso roba standard:Ninject - Come identificare quale classe genera eccezioni durante la costruzione
IKernel kernel = GetKernel();
var foo = kernel.Get<IFoo>();
Tuttavia su una macchina particolare, stiamo ottenendo un'eccezione quando si costruisce ... qualcosa. Sappiamo cosa sta esplodendo, ma è nel framework di registrazione (Common.Logging), e quel codice è usato in tutto il nostro codebase, in tutti/molti dei costruttori.
Oltre a mettere ogni singolo costruttore in un try/catch e avvolgendo le eccezioni con informazioni di tipo, non ottengo informazioni utili da Ninject su cosa sta avendo problemi con.
C'è un modo in cui posso ottenere da Ninject quale classe non riesce a creare?
Another person asks a similar question, ma la loro soluzione non aiuta - stiamo ottenendo le eccezioni dal framework di registrazione, non da Ninject.
Mostraci la traccia dello stack inclusa la stacktrace delle eccezioni interne. Questa informazione dovrebbe contenere il costruttore della classe che non è riuscita a inizializzare. – Steven
La classe che non è riuscita a inizializzare è esattamente quello che sto cercando di far sapere a Ninject. Non dà quella classe. –
Mi sembra un errore in Ninject. Ninject dovrebbe avvolgere l'eccezione generata. Dovresti segnalare questo come un bug al team di Ninject. – Steven