Ho scritto un piccolo System.Windows.Forms.UserControl, lo chiamano userControl1
, che sembra funzionare nel modo in cui lo desidero.My UserControl si blocca Visual Studio ogni volta che lo aggiungo a un modulo
Da Designer di Visual Studio 2010, è possibile trascinare userControl1
dalla barra degli strumenti e rilasciarlo su un Windows Form che chiamerò testForm1
. Posso cablare userControl1
e funziona come dovrebbe.
Tuttavia, lo scopo di userControl1
è quello di poterlo utilizzare in un altro UserControl, chiamiamolo userControl2
.
Da Designer di Visual Studio 2010, se trascino userControl1
dalla barra degli strumenti e lo rilasciamo su userControl2
, Visual Studio 2010 si arresta in modo anomalo senza alcun messaggio diverso da quello in fase di riavvio.
Allo stesso tempo, un errore di applicazione viene registrato nel Visualizzatore eventi con ID evento 1000:
Faulting application name: devenv.exe, version: 10.0.40219.1, time stamp: 0x4d5f2a73
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc00000fd
Fault offset: 0x0965f816
Faulting process id: 0x1580
Faulting application start time: 0x01cd90f84338e443
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
Faulting module path: unknown
Report Id: 49ddcedf-fcf8-11e1-8016-00248103a942
Come posso fare per cercare di eseguire il debug di questo errore? Devo guardare qualcosa in userControl1
o userControl2
?
Alcune note:
1) Mi può anche trascinare un
userControl2
dalla barra degli strumenti sultestForm1
, e funziona (cioè display) bene sia in Progettazione VS2010 e quando faccio funzionare l'applicazione di test.2) Sono andato con successo nella progettazione di
userControl2
dove ho dichiarato e impostare tutti i valori peruserControl1
, mauserControl1
non verranno visualizzati sultestForm1
quando viene eseguito. Se si selezionauserControl1
dalla finestra delle proprietà diuserControl2
in Designer VS2010, Visual Studio si arresta in modo anomalo.3) Sono felice di inserire il codice, se è utile. Preferiresti il codice per
userControl1
ouserControl2
? Anche se entrambi i controlli sono piccole, c'è ancora un sacco di codice (soprattutto perché questo errore è probabile che si verificano nella finestra di progettazione, in modo da avrei dovuto postare anche quello.
Eseguire due istanze di Visual Studio, aprire questo progetto in entrambe le istanze e in uno di essi utilizzare *** Allega per elaborare ...*** opzione per la seconda istanza per il debug (* processo devenv.exe *). Dovresti quindi essere in grado di vedere qual è l'eccezione. –
Parte del codice in UserControl viene eseguito anche in fase di progettazione. Quel codice ha un bug, innesca una StackOverflowException. Un errore piuttosto fatale, che porta anche VS verso il basso. Cerca i setter/getter della proprietà ricorsiva, commenta le cose se non riesci a trovarle. –
Puoi pubblicare un esempio di codice? – bryanbcook