Watch窗口中的$ ReturnValue在VS2015中不起作用

时间:2016-01-18 15:32:26

标签: c# visual-studio-2015 watch

在VS2013中,我们可以通过检查名为$ReturnValue的Watch窗口条目来查看方法的返回值。这在VS2015中似乎不起作用。

e.g。我制作了一个新的控制台应用程序,其中包含以下代码:

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;
        }
    }
}

如果我在第//A行放置一个断点,那么一旦它断开,F10步进到行//B,Watch窗口中的$ReturnValue项在VS2013中显示“1042”,但是在VS2015中它显示了这个:

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

请注意,Autos和Locals窗口正确地说明了这一点:

ReturnInspector.Program.Method2 returned    1042

有人知道监视窗口功能中的$ReturnValue是否在VS2015中被删除了吗?

2 个答案:

答案 0 :(得分:9)

确保您拥有工具>>选项>>调试>>使用旧版C#和VB表达式评估程序选项。

来自MSDN

  

您必须打开旧版表达式计算器才能识别$ ReturnValue(工具/选项/调试/使用旧版C#和VB表达式计算器)。否则,您可以使用$ ReturnValue1。

答案 1 :(得分:0)

在VS2019社区中,它与$ ReturnValue1一起使用