Ho qualche codiceCome caricare DLL durante il debug in VS2013
var aa = a();
b(aa);
Durante il debug, ho impostato un punto di interruzione sulla chiamata b()
. Quindi andando alla finestra immediata , mi piacerebbe essere in grado di eseguire codice da una DLL presente nel mio progetto ma non ancora caricato. Dire che voglio un nuovo Boo
e chiamare Foo()
. Il codice è nel namespace Baz
in dll Spongle.dll
.
Quando digito
>> new Baz.Boo().Foo(aa)
ottengo l'errore: Il tipo o dello spazio dei nomi il nome 'Baz' non è valido in questo ambito.
Se cambio il mio codice in modo che il mio Boo
sia già caricato, funziona correttamente.
new Boo(); // dummy to ensure loading
var aa = a();
b(aa);
E 'possibile caricare la DLL dalla finestra immediata durante il debug in modo che posso chiamare il mio codice anche se è stato caricato (ancora) ?. Potrei usare lo new Boo()
come inizializzatore statico della mia classe principale dell'applicazione, ma poi ho problemi durante i test unitari in quanto non implicherebbe necessariamente la classe con quell'inizializzatore statico.
Lo spazio dei nomi è 'Baz' ed è già incluso nella mia domanda, sfortunatamente. –
Ci deve essere qualcosa che hai trascurato, poiché non ho mai avuto il problema che stai descrivendo. Puoi mostrare la definizione completa della tua classe Boo? –
@Nathan A: Prendi qualsiasi DLL che usi nella tua applicazione, esegui il debug di un unit test non usando quella dll, imposta un breakpoint e prova l'istanziazione da quella dll nella finestra immediata –