C# VS2015即时窗口中的lambda表达式

C# VS2015即时窗口中的lambda表达式,c#,linq,lambda,visual-studio-2015,immediate-window,C#,Linq,Lambda,Visual Studio 2015,Immediate Window,我运行的是Visual Studio 2015,在即时窗口、手表和其他地方都支持lambda表达式。但这对我不起作用。 我使用以下代码创建了一个新的控制台应用程序: static void Main(字符串[]args) { var list=新列表{1,2,3,4,5,6,7}; } 然后在即时窗口中尝试了一些简单的lambda,并观察如下所示: 正如你们所看到的,它给了我“表达式不能包含lambda表达式”。 我查看了工具->选项->调试设置,但找不到任何与此问题相关的内容。 我正在运

我运行的是Visual Studio 2015,在即时窗口、手表和其他地方都支持lambda表达式。但这对我不起作用。 我使用以下代码创建了一个新的控制台应用程序:

static void Main(字符串[]args)
{
var list=新列表{1,2,3,4,5,6,7};
}
然后在即时窗口中尝试了一些简单的lambda,并观察如下所示:

正如你们所看到的,它给了我“表达式不能包含lambda表达式”。 我查看了工具->选项->调试设置,但找不到任何与此问题相关的内容。 我正在运行的版本是VS2015 Enterprise,14.0.24720.00更新1
是什么导致了这个问题?

这对我来说确实有效,当我勾选
使用托管兼容模式
使用传统的C#和VB表达式计算器时,它会停止工作。确保未选中这些选项


确保在调试选项中禁用“托管兼容模式”和“旧表达式”。我也有同样的问题。我已将这两个参数都取消选中,但我仍然遇到相同的问题。错误CS1061:“List”不包含“Where”的定义,并且找不到“Where”的扩展方法,“Where”可以找到“接受类型为“List”的第一个参数(是否缺少using指令或程序集引用?),因为无法在即时窗口中运行
using
语句,您需要使用System.Linq添加
语句。一旦您这样做,立即窗口应该能够识别扩展方法。这对某些人来说可能是显而易见的,但您无法在运行代码时更改这些选项(它们变灰),必须停止VS,然后才能更改这些选项。在Visual Studio 2017中,这对我也不起作用。但在我的例子中,它是由我的项目中通过NuGet:Alea引用的库引起的。以防对某些人有帮助…@ProtectorOne不抱歉。。。我再也不能访问这个源代码了,所以我甚至不能检查它,以防它提醒我。。。但我不认为这与NuGet有太大关系,而与包裹本身有关。在我的例子中,包裹——Alea——是在玩IL。因此,生成的编译代码可能不是VS调试器执行lambdas所期望的。。。可能只是一个有根据的猜测。
static void Main(string[] args)
{
    var list = new List<int> {1, 2, 3, 4, 5, 6, 7};
}