2016-01-18 18 views
7

In VS2013 è possibile visualizzare il valore di ritorno di un metodo esaminando una voce della finestra di controllo denominata $ReturnValue. Questo non sembra funzionare in VS2015.

ad es. Ho fatto una nuova console app, che contiene il seguente codice:

using System; 

namespace ReturnInspector 
{ 
    public class Program 
    { 
     public static void Main(string[] args) 
     { 
      Console.WriteLine("Number: {0}", Method1()); 
     } 

     public static int Method1() 
     { 
      return Method2(1000);   //A 
     }         //B 

     private static int Method2(int i) 
     { 
      return i + 42; 
     } 
    } 
} 

Se metto un punto di interruzione sulla linea //A, poi una volta si rompe, F10 per passare alla linea //B, la voce $ReturnValue nella finestra di controllo mostra "1042 "in VS2013, ma in VS2015 mostra questo:

error CS0103: The name '$ReturnValue' does not exist in the current context 

Nota che le automobili e Locali finestre dicono correttamente questo:

ReturnInspector.Program.Method2 returned 1042 

Qualcuno sa se $ReturnValue nella funzionalità della finestra di controllo è stato rilasciato in VS2015?

risposta

8

Accertarsi di disporre di Strumenti >> Opzioni >> Debug >> Utilizzare l'opzione di valutazione delle espressioni legacy C# e VB selezionata.

Da MSDN:

è necessario disporre di valutatori espressione eredità accesi a $ ReturnValue di essere riconosciuto (Strumenti/Opzioni/Debug/Utilizzare l'eredità C# e VB analizzatori di espressioni). Altrimenti, puoi usare $ ReturnValue1.

+0

Qual è la differenza tra singolo e doppio **> **? @PatrickHofman –

+0

Hai creato una citazione di blocco all'interno di un'altra citazione di blocco. Questo a volte dà problemi di layout e sembra solo cattivo. –

+1

Grazie per la correzione btw –

Problemi correlati