Anche se creo un progetto WinForms pulito, Modifica e Continua non funziona e mi dà l’errore:
Le modifiche non sono consentite quando il debugger è stato collegato a un processo già in esecuzione o il codice in fase di debug è stato ottimizzato in fase di compilazione o di esecuzione.
- log4net - Gli allegati non funzionano in IIS7.5
- Vai a Matching Brace in Visual Studio?
- Come posso disabilitare ReSharper in Visual Studio e abilitarlo di nuovo?
- Arresta automaticamente la generazione di Visual C ++ 2008 al primo errore di compilazione?
- Copia nella directory di output copia la struttura della cartella ma desidera solo copiare i file
Ho anche trovato questo articolo sul sito Web MSDN:
Scenari non supportati
Modifica e continua non è disponibile nei seguenti scenari di debug:
- Connessione a SQL Server con Visual Studio Express Editions
- Come rilevare se sto compilando il codice con Visual Studio 2008?
- Come posso eseguire il rollback di un check-in TFS?
- Come posso ottenere la progettazione Windows Form di Visual Studio 2008 per eseguire il rendering di un modulo che implementa una class base astratta?
- Specializzazione dei modelli di un singolo metodo da una class basata su modelli
Debug su Windows 98.
Debug in modalità mista (nativo / gestito).
Debug SQL.
Debug di una discarica di Dr. Watson.
Modifica del codice dopo un’eccezione non gestita, quando l’opzione “Srotolare lo stack di chiamate su eccezioni non gestite” non è selezionata.
Debug di un’applicazione di runtime incorporata.
Eseguire il debug di un’applicazione con Allega anziché eseguire l’applicazione con Avvia dal menu Debug.
Debug di codice ottimizzato.
Debug del codice gestito quando la destinazione è un’applicazione a 64 bit. Se si desidera utilizzare Modifica e Continua, è necessario impostare la destinazione su x86. (Proprietà del progetto, scheda Compile, impostazioni del compilatore avanzato.).
Eseguire il debug di una vecchia versione del codice dopo che una nuova versione non è riuscita a creare a causa di errori di compilazione.
Ma posso rispondere “No” a ogni elemento in questa lista.
Ha funzionato prima, ma diversi giorni fa ha smesso di funzionare, e non so quale potrebbe essere la ragione.
Finalmente ho risolto il problema: DISINSTALLA Gallio
Gallio sembra avere parecchi bordi grezzi ed è meglio non usare MbUnit 3.0 ma usare il framework MbUnit 2.0 ma usare il gallio runner, che si sta eseguendo senza installare dal programma di installazione (che ha anche installato un plugin per lo studio visivo).
Per inciso, ho avuto il problema anche dopo aver “disabilitato” il plugin Gallio. Solo la disinstallazione ha risolto il problema.
PS. Modificato da nightcoder:
Nel mio caso, la distriggerszione di TypeMock Isolator (framework di simulazione ) ha finalmente aiutato ! Modifica e continua ora funziona !!!
Ecco la risposta dal supporto TypeMock:
Dopo aver esaminato ulteriormente il problema di modifica e continuazione e aver discusso con Microsoft, abbiamo raggiunto la conclusione che non può essere risolto con Isolator. Isolator implementa un profiler CLR e, in base alla nostra ricerca, una volta abilitato e collegato un profiler CLR, la modifica e la continuazione vengono automaticamente disabilitate. Mi dispiace dire che questo non è più considerato un bug, ma piuttosto una limitazione di Isolator.
Assicurati che la variabile di sistema COR_ENABLE_PROFILING
non sia impostata su 1
. Alcuni profiler lo impostano durante l’installazione e lo lasciano in questo modo dopo la disinstallazione. Aprire un prompt dei comandi e digitare set
per verificare rapidamente che il sistema sia interessato, in tal caso rimuovere la variabile o impostarla su 0
:
In Windows 8 e versioni successive, cerca Sistema (Pannello di controllo).
Rimuovi COR_ENABLE_PROFILING
Tieni presente gli scenari non supportati (come riportato nella domanda) e le modifiche non supportate .
* per “tu”, intendo il visitatore della pagina che sta battendo la testa su una tastiera per trovare la soluzione.
Sentiti libero di modificare questa risposta se hai altri suggerimenti!
Se esegui il debug di un’applicazione ASP.NET, vai su proprietà> web> Server, e assicurati che “triggers e continua” sia selezionato in Usa server di sviluppo di Visual Studio.
Ho avuto lo stesso problema. Ho anche re-installato VS 2008 ma il problema non è andato via. Tuttavia, quando ho eliminato tutti i punti di interruzione, ha iniziato a funzionare.
Debug->Delete All Breakpoints
Penso che stia accadendo perché avevo cancellato una pagina di aspx che aveva punti di interruzione nel suo codice, e quindi ho creato un’altra pagina con lo stesso nome. Questo probabilmente ha confuso il VS 2008.
Un paio di cose da controllare
MODIFICARE
Non credo che ciò dovrebbe avere importanza, ma assicurati che il processo di hosting sia abilitato per la piattaforma di destinazione. Probabilmente non ti sarà d’aiuto.
Se si fa una nuova ricerca per nuovi progetti, potrebbe essere qualcosa di ancora più sottile. Vorrei provare quanto segue.
Se la tua preoccupazione è con un’app ASP.NET, assicurati di aver modificato e continuare abilitato nella scheda web (vs2010). C’era anche un’impostazione separata per il debug di ASP.NET nelle versioni precedenti.
Saluti,
Adamo.
Nessuna delle soluzioni di cui sopra ha funzionato per me (in esecuzione su una macchina 64x).
Alla fine ho fatto clic su 'advanced compiler settings'
e UNCHECKED 'enable optimizations
” e ora posso passare attraverso il codice e modificarlo durante il debug.
Ho scoperto che anche se le proprietà di progetto e la scheda debug sono impostate su Debug e tutte le altre impostazioni sono corrette, ricevo comunque il messaggio, tuttavia dopo averne scavato di più nel menu Build seleziona Configurations Manager … e assicurati che Debug sia selezionato anche in due posti lì. vai a capire … quanti posti diversi hanno bisogno di impostare il debug ?????? anche se si imposta Project – Configuration to Debug, in Build – Manager non si modifica quindi si cambia anche la stessa impostazione Project Configuration – sembra di nuovo un problema microsoft …….
Questo problema è dovuto all’impostazione di Intellitrace
Se Intellitrace è abilitato, assicurati che sia selezionato solo l’evento Intellitrace
Altrimenti ciò non consentirà la modifica e continuerà ..
Se fai clic sulle opzioni Intellitrace, vedrai le avvertenze.
Per me, per una ragione che non capisco, l’impostazione “Genera informazioni di debug” in “Impostazioni avanzate del compilatore” è stata impostata su “pdb-only” anziché su “Full”.
Per impostazione predefinita, questo parametro è sempre impostato su “Completo” ma un misterioso poltergeist ha modificato questo parametro la scorsa notte. 🙂
PS Sono in Visual Basic .Net con Visual Studio 2010
Le riprese successive mi hanno aiutato a usare VS2010:
vai su Strumenti, Opzioni, Debug, Generale e assicurati che “Richiede che i file di origine corrispondano esattamente alla versione originale” sia deselezionato.
Ciò si verifica quando il debugger non ha raggiunto un punto di interruzione o non hai premuto il comando Interrompi tutto (pausa). Non potrebbe essere così semplice potrebbe?
Ho avuto questo problema in Microsoft Visual Studio 2008 e la soluzione è semplice. quando esegui il tuo progetto, imposta la modalità “Debug” e non “Rilascia”. La soluzione di un’altra persona può essere utile.
“Modifica e continua”, se abilitato, consentirà solo di modificare il codice quando è in modalità di interruzione: ad es. Facendo in modo che l’esecuzione venga messa in pausa da un’eccezione o colpendo un punto di interruzione.
Ciò implica che non puoi modificare il codice quando l’esecuzione non è in pausa! Quando si tratta di eseguire il debug di progetti Web (ASP.NET), questo è molto intuitivo, poiché spesso si desidera apportare modifiche tra le richieste. In questo momento, il codice del tuo (probabilmente) debugging non è in esecuzione, ma non è nemmeno in pausa!
Per risolvere questo problema, puoi fare clic su “Break all” (o premere Ctrl + Alt + Break ). In alternativa, imposta un punto di interruzione da qualche parte (ad esempio nel tuo evento Page_Load
), quindi ricarica la pagina in modo che l’esecuzione si interrompa quando raggiunge il punto di interruzione e ora puoi modificare il codice. Anche codice in file .cs
.
L’errore dice che una ansible causa è: “il codice in fase di debug è stato ottimizzato in fase di build o di esecuzione”. Vai a Proprietà progetto-> Debug e deseleziona la casella Codice ottimizzazione per la modalità Debug.
Se creo un nuovo progetto, le modifiche durante il debug non funzionano. Se creo un nuovo sito Web, le modifiche durante il debug funzionano come previsto.
Alcune cose che sembravano aiutare a usare VS2010:
Ho rimosso un set di dati dal mio progetto perché non l’ho usato. Successivamente ho potuto modificare il programma durante il debug.
Ho fatto tutti i cambiamenti menzionati in ogni altra risposta e nessuno ha funzionato. Cosa ho imparato? Abilita e continua esiste sia nel menu Strumenti> Opzioni> Debug e anche nelle impostazioni del progetto. Dopo aver controllato entrambi, Enable e Continue hanno funzionato per me.
Mi sono imbattuto in questo oggi – si scopre che avere le informazioni di debug impostate su pdb-only (o nessuna, immagino) impedirà l’esecuzione di Edit e Continue.
Assicurati che le tue informazioni di debug siano prima impostate su “pieno”!
Proprietà progetto> Crea> Avanzate> Output> Informazioni di debug
Nel mio caso, basta ripristinare le impostazioni predefinite del debugger e impostare IntelliTrace-> solo gli eventi intellytrace aiutano
incorporare i tipi di interoperabilità Visual Studio deve essere impostato su falso
Questo è successo in un file di class collegato. Il resto del progetto ha permesso E & C, ma ho avuto lo stesso errore nel modificare il file collegato. La soluzione era di interrompere il file collegato nel proprio progetto e fare riferimento al progetto.
Ho affrontato lo stesso problema. Il mio problema era che potevo modificare un file, ma non un altro (entrambi sono nello stesso progetto). Più tardi ho scoperto che il file che non potevo modificare faceva anche parte di un altro progetto. Non è stato caricato un altro progetto (Unit Test) e il debugger VS intelligente mostra l’errore che l’assembly per questo dato file non è stato caricato e non sono consentite modifiche. Che strano!
Quindi, ho dovuto scaricare il progetto unit-test e continuare il debug di EnC.
Avevo un progetto di database nella soluzione che impediva la pubblicazione del progetto webforms.
Ho cliccato su “Scarica” sul progetto del database e tutto ora funziona dolcemente.
Per VS2017 può aiutare a rimuovere il file .suo nella soluzione, ha funzionato per me. 🙂
Stavo affrontando lo stesso problema in Visual Studio 2005. La mia configurazione è a 64 bit. Sta funzionando bene su una delle soluzioni VS ma non l’altra. Ho notato che ho abilitato solo “Abilita modifica e continua” per il progetto in cui volevo apportare modifiche in modalità di debug. Questo finalmente mi è stato risolto quando ho selezionato “Abilita e continua” anche per il mio progetto di avvio .
Non sono state apportate modifiche alla configurazione tranne l’abilitazione e continua necessaria.
Sembra illogico, ma l’unico modo era disabilitare la modifica e continuare dalle opzioni di VS 2017 … Quindi AspNet modifica e continua ha iniziato a funzionare …
ciò che ha funzionato per me è stato deselezionare “Usa modalità di compatibilità gestita” sotto
Strumenti -> Opzioni -> Debug
TBN: controllare o deselezionare “Richiede che il file sorgente corrisponda esattamente alla versione originale” non sembra influenzare la E & C
Spero che questo possa aiutare.
Abilita modifica e continua solo lavoro esegui IIS Express. Non lavorare in Local ISS o Host esterno.