2015-09-02 16 views
6

Utilizzo Visual Studio 2015 e quando raggiungo un punto di interruzione non riesco a ottenere alcuna informazione sui valori delle variabili.Impossibile visualizzare i valori durante il debug

  • Quando si passa sopra una variabile, non viene visualizzato nulla.
  • In Finestra Immediata o Orologi, ottengo:

    error CS0648: '' is a type not supported by the language 
    

Questo è accaduto tutto ad un tratto, come è abituato a lavorare fino a ieri.

Ho provato alcune cose tra cui il ripristino di tutte le impostazioni utente, l'eliminazione dei file * .user, il riavvio di Visual Studio e anche il riavvio di Windows.

Cos'altro posso provare?

Aggiornamento: Ho scritto un blog post su questo problema e su come riprodurlo.

+0

'' suona come un tipo strano. Che tipo ha realmente la variabile? Tutti i tipi sono interessati? –

+0

Ultimamente sembrano esserci altri problemi del genere. Vedi http://stackoverflow.com/questions/32339956/error-cs0648-xyz-is-a-type-not-supported-by-the-language-exception-on-all-t –

+0

Mi dà che per qualsiasi tipo , anche un semplice 'stringa'. – Gigi

risposta

6

Questo è un bug attualmente monitorato da aspnet/Home issue #955.

Repro applicazione console di riferimento:

REPRO

  1. Aprire VS2015 (Windows 10, ASP.NET 5 Beta 7)
  2. Fare clic su File> Nuovo> Progetto> Web> Applicazione console (Pacchetto)> Ok
  3. Modifica Program.cs per riflettere lo snippet di codice qui sotto.
  4. Aggiungi un breakkpoint subito dopo Console.WriteLine(a);
  5. Eseguire il progetto
  6. destro del mouse variabili a e b click Aggiungi espressione di controllo

CODICE

public void Main(string[] args) 
{ 
    const int a = 3; 
    int b = 4; 
    Console.WriteLine(a); 
} 

attesi

di finestra visualizza i valori per le variabili a e b

REALE

Guarda finestra Valore colonna per le variabili a e b display:

errore CS0648: '' è un tipo non supportato dalla lingua

NOTE

  1. Il valore di a viene scritto correttamente per Console
  2. Rimozione const dal frammento ritorna alla ATTESO bevahiour
10

Non ci crederai, ma sembra che questo sia in qualche modo correlato a un'espressione const che avevo. La rimozione di const e l'utilizzo di una variabile hanno risolto il problema.

Che strano. Non è riuscito a riprodurre su una semplice applicazione console. Il problema originariamente si è verificato in un'applicazione Web ASP .NET 5.

Aggiornamento: vedere ulteriori dettagli nel mio blog post che spiega anche come riprodurre il problema.

+0

Posso verificare. Questo è successo anche a me. In una pagina ascx (controllo utente) nella mia app C# mvc, ho avuto un const definito e ho ricevuto questo errore. Una volta aggiornato a una var, funziona di nuovo. #VisualStudioBug !!! – bigerock

+0

Posso verificare anche io. Sembra inoltre che sia limitato al metodo in cui è stato dichiarato il const. All'interno di questo metodo, la finestra dei locali sarà vuota e l'aggiunta di orologi avrà come risultato CS0648. L'uscita dal metodo mostrerà immediatamente i locali e gli orologi mostreranno nuovamente i valori. Le consegne di livello di classe Havings non influiscono negativamente sul debugger. – Eric

+0

... faciem palmam –

0

Avevo una variabile che aveva CONST e una volta rimosso tutti i miei tipi si presentavano e avevano valori in essi.

Problemi correlati