Razor怎么能在同一个程序集中看到一些Linq方法而看不到其他方法?

Razor怎么能在同一个程序集中看到一些Linq方法而看不到其他方法?,linq,visual-studio,razor,Linq,Visual Studio,Razor,这一条毫无意义。我有一个Razor视图VB语法,其中包含一些与模型对象一起工作的代码。在一行中,它访问一个列表并调用FirstOrDefault,它位于System.Linq.Enumerable中,并且工作正常。但在下一行中,它尝试调用另一个列表上的Select,并给出以下错误: 但这是完全奇怪的,因为FirstOrDefault和Select位于同一程序集中的同一命名空间中。它怎么可能看到一个而不看到另一个呢?您使用的是哪个版本的Visual Studio?我使用VS2010,偶尔会遇到类似

这一条毫无意义。我有一个Razor视图VB语法,其中包含一些与模型对象一起工作的代码。在一行中,它访问一个列表并调用FirstOrDefault,它位于System.Linq.Enumerable中,并且工作正常。但在下一行中,它尝试调用另一个列表上的Select,并给出以下错误:


但这是完全奇怪的,因为FirstOrDefault和Select位于同一程序集中的同一命名空间中。它怎么可能看到一个而不看到另一个呢?

您使用的是哪个版本的Visual Studio?我使用VS2010,偶尔会遇到类似的错误,虽然不在同一个文件中,但关闭所有Visual Studio实例通常会解决这一问题。当您尝试按常规调用扩展方法(如System.Linq.Enumerable.Select)时会发生什么情况?我同意克里加的观点;有时这是一个随机的VS问题,如果你稍微摇晃一下树,它就会消失。ReturnObjectPropertyShapes返回的是什么类型?@krillgar:我尝试过几次,但问题在Visual Studio重新启动后仍然存在。@RobertHarvey:我尝试过用完全限定的命名空间按常规调用它,但它不起作用。事实上,它向我展示了Intellisense和Enumerable上所有可用的方法,而Select不存在?