Il seguente modulo è stato creato con ottimizzazioni abilitate o senza informazioni di debug


139

Non riesco a liberarmene nel mio progetto Web VS 2008 durante il debug. Ho verificato che è in modalità debug sul progetto non web in questione ed è attivo (debug). Ho eliminato tutti gli elementi nella mia cartella temporanea .NET 2.0 in Windows. Non sono sicuro di cos'altro fare qui.

Risposte:


187

Prova a disabilitare "Abilita solo il mio codice" in Strumenti / Opzioni / Debug / Opzioni.


L'ho fatto e ha funzionato. Sono stato in grado di utilizzare i punti di interruzione e scorrere il codice. Non capisco Perché ha funzionato? (Stavo
eseguendo

Ho appena avuto questo problema e la tua soluzione ha funzionato per me. Grazie!
Colin O'Dell,

5
Funziona ma può causare alcuni effetti collaterali indesiderati durante il debug: blogs.devsource.com/devlife/content/net_general/…
user276648

2
In VS2010 questa casella di controllo è in Debug> Opzioni e impostazioni, quindi in Debug> Generale
Cookie

Questo funziona a causa della ricostruzione delle opzioni? Qual è l'accordo. Ho risolto il problema, ma perché?
jeremy.bass,

83

Ho avuto lo stesso problema e ho scoperto che non stavo trasmettendo le mie informazioni di debug sulla mia build. Se fai clic con il pulsante destro del mouse sul progetto e vai su 'Proprietà', quindi seleziona la scheda 'Crea', nella parte inferiore della pagina c'è un pulsante 'Avanzate ...' che mostrerà le tue impostazioni per l'output delle informazioni di debug. Impostalo su "pieno" e l'errore dovrebbe scomparire.

inserisci qui la descrizione dell'immagine


1
Questa è la risposta corretta Dovresti fornire informazioni di debug "complete" quando vuoi eseguire il debug dell'applicazione localmente in modalità di sviluppo. Dovresti farlo piuttosto che la risposta "Abilita solo il mio codice" in quanto tale risposta può avere effetti collaterali indesiderati (come notato sopra).
Tod Thomson,

1
@ Thom Thomson, non sono sicuro del motivo per cui affermi che questa è la risposta corretta, poiché vedo il messaggio proprio ora mentre eseguo il debug della mia applicazione Web e provo ad accedere a una libreria di classi, in modo molto simile alla configurazione descritta nella domanda. L' impostazione delle mie informazioni di debug è piena e non ho motivo di credere che sia mai stata diversa.
R. Schreurs,

1
@ R.Schreurs Ho provato tutto il resto in questa pagina e l'unica cosa che ha funzionato per me è stata questa risposta. Se non funziona per te, sentiti libero di provare qualcos'altro qui / fornisci una tua risposta.
Tod Thomson,

È un errore Microsoft. Non dire "dovrebbe". A meno che tu non stia dicendo "L'errore dovrebbe scomparire ma è Microsoft, quindi dovresti ripensare la tua vita"
user1566694

24

Ho appena incontrato questo problema e ho rapidamente deciso che le altre risposte pubblicate non mi riguardavano.

disattivare

Sono il proprietario del progetto e so che è stato creato con informazioni di debug e senza ottimizzazioni. Inoltre, non sono mai felice di scegliere la disabilitazione di un avviso come mia prima scelta. Nascondere / ignorare questo avviso potrebbe diventare un problema in una futura sessione di debug.

Dal momento che questo ha iniziato a verificarsi solo dopo firmato l'assembly , questo mi ha fatto capire la mia soluzione rapida: rimuovere temporaneamente il nome sicuro della mia DLL (e consumando EXE). Ecco! Problema risolto.

Una soluzione migliore, a lungo termine, potrebbe assumere la forma di aggiungere un'azione post-build per aggiornare il file GAC in modo che abbia l'ultima versione della DLL firmata.

Ma per ora, sono felice di passare da questo diversivo e continuare a lavorare sul problema che mi ha portato a questa sessione di debug.


4
Ero in una situazione simile a te, ma ho preso la via d'uscita facile ... Ho disinstallato il programma che inseriva questa DLL nel GAC, perché era solo la versione precedente di quello che stavo eseguendo il debug.
SeeMoreGain

2
Inoltre +1 per consigliare di risolvere l'origine del problema anziché semplicemente abilitare una soluzione alternativa come tutti gli altri che suggeriscono di deselezionare "Abilita solo il mio codice"
Altro

17

risolto. Eliminate tutte le occorrenze (tutti i progetti) della dll in questione.


1
Ho chiuso tutte le sessioni VS / VWD in cui erano aperti i progetti referenziati e la mia soluzione attiva. Quindi ho eliminato OGNI istanza del problema dll e i loro pdbs associati. Successivamente, ho eliminato tutto nella posizione del sito Web di debug temporaneo nella struttura del framework .NET (per questo progetto era C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files [myWebsite]). Questo mi ha dato un errore "file in uso" su una delle versioni precedenti fino alla chiusura di VWD. Quindi ho riaperto il progetto e corretto tutti gli errori e gli avvisi in sospeso nel codice del progetto. Solo allora l'errore è scomparso.
BH,

14

VS2012, pulito e ricostruito risolto il problema per me. "Proprietà" -> "Build" -> Ottimizza codice è deselezionato. "Proprietà" -> "Build" -> "Avanzate" -> Informazioni di debug: completo


dobbiamo cambiare le impostazioni
kbvishnu il

Questo ha funzionato per me durante il debug di un componente aggiuntivo di Visual Studio 2010. In precedenza era impostato su none.
Sabuncu,

Non ha funzionato per me, ma dopo aver eliminato le cartelle bin e obj, la soluzione pulita e ricostruita ha funzionato di nuovo :)
QMaster il


7

Indovinare VS 2008 non sta ricostruendo correttamente la dll.

1) Cancella tutte le occorrenze della dll

2) Ricostruire la soluzione

E questo dovrebbe risolverlo.


Ho eliminato la directory bin della mia app Web seguita da ricostruire tutto. Ciò l'ha risolto!
Captain Sensible,

6

Controlla le opzioni di configurazione della build. Assicurarsi che le ottimizzazioni siano disattivate e che sia definita la costante DEBUG.


Build è selezionato e le ottimizzazioni sono decisamente disattivate.

6

Se tutto il resto fallisce, prova a rinominare il nome dell'Assemblea nelle proprietà del progetto. Ciò ha risolto il problema per me.


Dopo aver trascorso ore e setacciato Internet cercando tutto ciò che ho incontrato, ha funzionato. Qualcosa deve essere memorizzato nella cache?
Chris R,

6

Ottengo anche questo problema, per qualche motivo è successo 3 o 4 volte; Penso che debba essere un bug di Visual Studio 2005 / hick up (o almeno la mia installazione).

Questo ha funzionato ogni volta: per risolverlo io

  1. Fare clic destro sulla mia soluzione e fare clic su Proprietà.
  2. Apri Configuration Manager.
  3. Seleziona Debug nel menu a discesa (se non è già selezionato).
  4. Deseleziona BUILD. Quindi ricontrollalo.
  5. Ricostruisci la soluzione.

4

Strumenti> opzioni> Debug> Simboli> Specifica i moduli esclusi che se la dll o l'exe nell'elenco dei moduli esclusi


3

Almeno per le applicazioni non web funziona:

Da: http://www.stellarpc.com/articles/board.aspx?id=40

2 - Consenti debug ...

A causa della natura in cui uno degli assembly è stato creato nell'applicazione, sarà necessario modificare alcune impostazioni per consentire al codice di essere gestito dal debugger di Visual Studio.

Fare clic con il tasto destro su qualsiasi progetto in questione da Esplora soluzioni e selezionare "Proprietà". Questo aprirà il pannello delle proprietà del progetto dandoci accesso a molte opzioni per i nostri progetti. Passare alla scheda "Complile" (o "Build" se ci si trova in un ambiente C #) e selezionare "Opzioni di compilazione avanzate ..." nella parte inferiore dello schermo. Questo ci presenta un prompt che ha due aree chiave di interesse:

1) Ottimizzazioni: deseleziona "Abilita ottimizzazioni"

2) Genera informazioni di debug: assicurati che l'opzione sia impostata su "Completo"


Interessante ... Ho i miei progetti configurati in questo modo, e anche con questa configurazione, il messaggio appare ancora. Quindi questa non è ancora la soluzione definitiva
Junior Mayhé,

3

Ho avuto questo problema con una soluzione in una determinata cartella, ma se l'ho spostato in un'altra cartella o altri lo hanno creato, non ho ricevuto il messaggio. Ho fatto il clean, ricostruito e anche riavviato e ancora non è stato possibile eseguire il debug dell'originale senza questo messaggio. Ho cercato nel mio sistema copie del file che ha causato l'errore e ho scoperto che le copie erano conservate

c: \ \ nome utente \ AppData \ Local \ Assembly \ User DL3

Questo era su Win7-64 ma sarà simile su altri sistemi operativi Windows. Ho eliminato tutte le copie che ho trovato lì e non ricevo più il messaggio. Non avevo bisogno di deselezionare "Abilita solo il mio codice".

Inoltre, questo era per un'app WPF, ma ho trovato questo thread nella mia ricerca, quindi spero che questo possa aiutare qualcun altro.


3

Sono stato in grado di risolvere questo problema seguendo questi passaggi:

  1. Fare clic con il tasto destro del mouse sulla soluzione (non sul progetto) e selezionare "Proprietà"
  2. Nel pannello di sinistra, seleziona "Proprietà di configurazione"
  3. Nel pannello di destra, seleziona "Debug" nella colonna "Configurazione" per il tuo progetto

Se non vedi la soluzione elencata in Esplora soluzioni, segui questi passaggi:

  1. Nella barra dei menu, vai su Strumenti -> Opzioni
  2. Nel pannello di sinistra, seleziona "Progetti e soluzioni" (potrebbe essere necessario selezionare "Mostra tutte le impostazioni" nell'area in basso a sinistra della finestra
  3. Nel pannello di destra, seleziona "Mostra sempre soluzione"

Spero che aiuti.


2

Anch'io ho tutti questi. E ho fatto tutto questo. Sembra che ciò accada a me ogni volta che ottengo una nuova copia dell'intera soluzione dal controllo del codice sorgente. Quindi, se abbiamo fatto tutti questi, eliminati file dll e .pdb per tutti i riferimenti (assembly) nel progetto Web, abbiamo usato l'opzione clean sulla soluzione, cancellato i file temporanei, chiuso VS e riaperto, assicurandoci che fosse selezionata la modalità debug e impostato al massimo e le ottimizzazioni sono disattivate, che altro c'è?!?!?!


Sono anche alla disperata ricerca di una soluzione. Non può nemmeno generare un file pdb.
Xar

2

Ho avuto lo stesso problema sul mio progetto Web in Visual Studio 2010 e finalmente ho trovato il motivo per cui stavo ricevendo questo messaggio. Quello che ho fatto è stato modificare un'opzione di debug esistente su Visual Studio:

  • Vai su Strumenti-> Opzioni-> Debug-> Simboli-> Tutti i moduli
  • Controllare il pulsante di opzione "se non escluso"
  • Fare clic sul collegamento "Specifica i moduli esclusi", quindi rimuovere la DLL che si desidera eseguire il debug.

Nel mio caso era il mio file dll web ...


2

Ho avuto questo quando provavo a eseguire il debug remoto di un'applicazione su un computer che appartiene a una sottorete diversa. Sono stato in grado di eseguire il debug e scorrere il codice quando lo eseguivo attraverso la rete se le macchine erano sulla stessa sottorete. Dopo aver cambiato la sottorete, però, non sono stato in grado di eseguire il passaggio quando sono in esecuzione dalla rete e ho ottenuto il "Il seguente modulo è stato creato con ottimizzazioni abilitate o senza informazioni di debug".

La soluzione? Facile. Copia la soluzione integrata sul computer che ospita il debug remoto ed eseguila localmente.


2

Mi è successo questo in un progetto winForms di VS 2010. Visto che la maggior parte delle persone qui ha progetti web, penso che abbia a che fare con l'accesso alla cartella in cui è archiviato il progetto. Lo dico perché quando si è verificato questo problema, Google Drive stava sincronizzando la cartella in cui conservo i miei progetti. Sembra che disabilitare solo la sincronizzazione non risolva il problema.

La mia soluzione è simile a una delle risposte sopra:

  • Sono andato a "Proprietà progetto> Compila> Opzioni di compilazione avanzate"
  • Selezionato "Abilita ottimizzazione"
  • Impostare "Informazioni generali sul debug:" su "Nessuno"
  • Deselezionato "Definisci costante DEBUG"
  • E premuto OK
  • Quindi è tornato indietro e ha riportato le opzioni al loro stato iniziale.

Spero che questo aiuti qualcuno come sembra che ciò accada ancora.


2

Seguire questo: (primo STOP debug)
1: fare clic con il tasto destro sul nome della soluzione del progetto o progetto -> Proprietà
2: in Proprietà di configurazione selezionare Configuration Manager
3: Cambia configurazione in debug e fare clic su Chiudi
4: Cambia configurazione in debug e fare clic su Applica - > OK
Ora ricostruisci la soluzione ....!


1

Per me, selezionare la casella "Ottimizza codice" nelle proprietà del progetto, salvarlo, deselezionarlo e quindi salvarlo per me.

Anche la disabilitazione di "Abilita solo il mio codice" ha funzionato, ma era più una soluzione che una soluzione poiché non volevo quell'impostazione.


1

Ho avuto lo stesso problema, ma con cause e soluzioni diverse. La finestra era la stessa di quella mostrata da Gustavo (sopra) ma il percorso era in: "\ users \ zzz \ AppSettings ..." (dove zzz è il nome utente di Windows)

Avevo un componente aggiuntivo di Excel: stavo testando l'installazione del componente aggiuntivo, quindi avevo una copia installata tramite la funzione di installazione VS. VS stava ovviamente cercando di eseguire il debug sia della copia installata che della copia che avevo appena avviato e non riusciva a trovare i simboli di debug sulla copia installata.

Nessuna delle soluzioni di cui sopra ha funzionato (senza effetti collaterali),

SOLUZIONE: disinstallazione del componente aggiuntivo ed eliminazione manuale dei file in Impostazioni app funzionate.


0

Hai detto che è un progetto web ... hai

<compilation debug="true />

nel tuo web.config?


0

Ho avuto lo stesso problema dopo aver creato una configurazione di rilascio. Si è scoperto che quando sono tornato a Debug, VS non ha rilevato alcuna differenza, quindi non stava aggiornando i file .dll e .pdb nella cartella bin.

Ecco cosa ha funzionato per me:

  1. Esegui iisreset (per ripulire le cartelle temporanee)
  2. Salvare il web.config (per forzare VS a ricostruire effettivamente)
  3. Ricostruisci su Debug
  4. Inizia il progetto

Perché non hai semplicemente usato il comando Ricostruisci nel menu Genera? Ciò forza la ricostruzione di tutti i moduli indipendentemente dal fatto che vengano rilevate o meno modifiche.
Ron,

@Ron mi dispiace non ricordo tutti i dettagli di qualche tempo fa, penso che ci fosse un problema con quella versione e la ricostruzione dal menu di costruzione non stava cancellando i file come previsto.
bubbassauro,


0

Il mio caso è il seguente: webservice referenziato lib1.dll. Successivamente ho rimosso il riferimento perché non era più utilizzato. Tuttavia lib1.dll è rimasto nella cartella bin. Poiché alla libreria non è stato fatto riferimento, le azioni Ricostruisci e Pulisci non sono state utili. Dopo aver eliminato manualmente lib1.dll dalla cartella bin mi sono liberato di questo messaggio.


0

Se stai pubblicando su IIS e non stai utilizzando il web server integrato o IIS express, assicurati che le impostazioni del tuo profilo di pubblicazione siano in modalità debug. In vs 11 per impostazione predefinita è in modalità di rilascio.


0

Solo per aggiungere, stavo guardando questo blog per trovare la soluzione allo stesso problema che stavo affrontando. Purtroppo le soluzioni sopra menzionate non mi hanno aiutato. Alla fine ho capito, stavo installando i miei bit (insieme a .pdb) tramite il programma di installazione e impostando esplicitamente i permessi sulla cartella di installazione.

A causa di ciò VS non è stato in grado di caricare il pdb anche se il browser dei file mostrava il file corretto ma stava dando lo stesso errore menzionato sopra.

Dopo aver deselezionato "Abilita solo il mio codice" e rimosso le impostazioni di autorizzazione dall'installer, VS ha iniziato a caricare il modulo.


0

L'unica configurazione che ha funzionato per me è stata la seguente

Progetto -> Proprietà (Progetto) -> Scheda Debug assicurarsi che la configurazione sia impostata su Attivo (Debug) In "Debugger inattivi", assicurarsi che "Abilita debug del codice non gestito" sia selezionato


0

Sto creando un servizio Windows ed ecco cosa ha funzionato per me:

  • Disinstalla il servizio.
  • Aprire un prompt dei comandi e andare su c: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319
  • installutil C: \ MyFantabulusWindowService \ bin \ Debug \ MyFantabulusWindowService.exe

La grandezza è stata raggiunta!


0

Caso: test dell'assemblaggio con il progetto Console nello sviluppo di SharePoint: se stai eseguendo lo sviluppo di SharePoint e visualizzi questo avviso in VS, assicurati di distribuire l'assemblaggio SP nel GAC prima di testare l'app della console SE il tuo progetto SP principale ha i metodi che devi chiama nell'app di test della tua console.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.