C# Linq扩展方法在Visual Studio 2015即时窗口中不可用

C# Linq扩展方法在Visual Studio 2015即时窗口中不可用,c#,visual-studio,linq,visual-studio-2015,C#,Visual Studio,Linq,Visual Studio 2015,错误CS1061:“ICollection”不包含“SelectMany”的定义,并且找不到接受“ICollection”类型的第一个参数的扩展方法“SelectMany”(是否缺少using指令或程序集引用?) Visual Studio 2015支持在即时窗口中以调试模式评估linq lambda表达式。我已经用一个控制台应用程序对它进行了测试,在这个控制台应用程序中,我获取Process.getprocesss(),转到即时窗口并开始写入。选择或。其中。它很好用 然而,我不能在我的项目中做

错误CS1061:“ICollection”不包含“SelectMany”的定义,并且找不到接受“ICollection”类型的第一个参数的扩展方法“SelectMany”(是否缺少using指令或程序集引用?)

Visual Studio 2015支持在即时窗口中以调试模式评估linq lambda表达式。我已经用一个控制台应用程序对它进行了测试,在这个控制台应用程序中,我获取
Process.getprocesss()
,转到即时窗口并开始写入
。选择
。其中
。它很好用

然而,我不能在我的项目中做同样的事情

我的断点位于此行:

return Dimensions.Values.SelectMany(dimension => dimension.Attributes)
                        .FirstOrDefault(dimensionAttribute => key.Equals(dimensionAttribute.Key));
进行F10操作有效。但是,当我尝试在即时窗口中的部分运行相同的表达式时,即
Dimensions.Values.SelectMany(dimension=>dimension.Attributes)
,我得到了上述错误


我是否试图以错误的方式对此进行评估?我遗漏了什么?

我无法告诉您发生这种情况的原因(我对即时窗口也有类似的问题),但我发现您可以通过静态类访问调用扩展方法。在您的情况下,这将是:

Enumerable.FirstOrDefault(Enumerable.SelectMany(Dimensions.Values, dimension => dimension.Attributes),dimensionAttribute => key.Equals(dimensionAttribute.Key));

只是为了确定。。你确定你在使用Systen.Linq
吗?你在使用System.Linq吗?@GiladGreen,@mww,是的,我在使用
System.Linq
。我必须告诉你它的外部
名称空间{}
以及它的顶部。我提到这一点是因为我想明确地告诉大家它不在
名称空间{}
中。另外,F10正在工作。尝试将
System.Data.Entity
dll引用包含到项目中,可能会解决您的问题!奇怪,这是今天的工作!!不确定这种断断续续的行为。该死,这太棒了。我喜欢。谢谢@Lennart,这很有效!我需要像这样的东西来立竿见影,我可以航行更长的时间。但是,我不能接受这一点来回答我提出的具体问题。我们使用扩展方法的原因是为了将它们链接起来。是不是应该在vs 2015即时窗口中以这种方式工作?@singsuyash请注意,您可能正在调用不同的扩展方法。真正的代码可能是具有不同扩展方法的
IQueryable