Come risolvere e correggere gli errori della modalità di progettazione di Visual Studio?

Utilizzando Windows 7 e Visual Studio 2010, sto scrivendo un C # User User Control. Stavo programmando la visualizzazione del codice per settimane e recentemente, quando ho provato a passare alla modalità progettazione, Visual Studio si è impiccato, “NON RISPONDERE”. Posso aspettare un’ora, e ancora non succede nulla. Facendo clic sul pulsante di chiusura viene visualizzata la finestra di dialogo “Vuoi attendere, chiudere, riavviare e inviare informazioni a Microsoft”.

C’è un modo per (stack) tracciare il codice che il designer sta cercando di eseguire? Forse messaggi di traccia in fase di progettazione o punti di interruzione?

Per Visual Studio 2010/2013

È ansible eseguire il debug del designer di Visual Studio stesso! Aprire una seconda istanza di Visual Studio, utilizzare Tools -> Attach To Process e connettersi al primo Visual Studio (ad es. devenv.exe ).

Nell’istanza di Visual Studio n. 2 (quella in cui è stato eseguito l’Attach To Process) : inserire un punto di interruzione sul costruttore di usercontrol

Nell’istanza di Visual Studio n. 1 (quella originale, che rimarrà bloccata) : Apri il designer su cui è installato il tuo usercontrol, il punto di interruzione in VS # 2 verrà colpito.

Per Visual Studio 2012

Il processo che si desidera eseguire il debug è XDesProc.exe . Vedere la risposta di Dr. ABT . Altrimenti la procedura è come per Visual Studio 2010/2013.

Per Visual Studio 2010, questa risposta fa il lavoro .

Per Visual Studio 2012 o versione successiva, è necessario eseguire correttamente il debug del processo di Visual Studio Designer. Il processo che si desidera eseguire il debug si chiama XDesProc.exe

Inserisci qui la descrizione dell'immagine .

Faccio quanto segue:

  • Aprire due istanze di Visual Studio puntando entrambe alla stessa soluzione
  • Chiudi tutte le windows in entrambi.
  • Uccidere tutte le istanze di XDesProc.exe in Task Manager
  • Nell’istanza di Visual Studio A, apri qualsiasi vista (non una che ha l’eccezione). Ciò avvierà il processo di progettazione XDesProc per l’istanza A di Visual Studio
  • Nell’istanza di Visual Studio B, albind al processo su XDesProc.exe e impostare i punti di interruzione oppure impostare Interruzione su eccezioni
  • Nell’istanza di Visual Studio A, apri la vista (che ha l’eccezione)
  • Visual Studio B dovrebbe rompere.

Inserisci qui la descrizione dell'immagine

Se non lo hai visto, o devi riavviare i passaggi, ricomincia dal passaggio (2) “Chiudi tutte le windows” eliminando le istanze di XDesProc. A volte il progettista si avvia una volta e memorizza i valori nella cache e sarà necessario disporre di un designer pulito, non di eccezione per rintracciare il problema.

La risposta è nella procedura dettagliata: debug di controlli Windows Form personalizzati in fase di progettazione (MSDN).