Linq + 无效的表达式项 '>'

5

有人能在这里帮助我吗?以下代码在我的xp机器上运行正常,但在我的vista机器上却不行。我正在查询一个泛型字典。

两台计算机都安装了.NET 3.5 + SP1、3.0、2.0等版本,并将Web项目定位到3.5框架。

using System.Linq;
string val = "Test";
var d = DictionaryOfStuff().Where(n => n.Key.ToLower().Contains(val.ToLower()));

给我一个错误: CS1525:无效的表达式项'>'
我可以在Vista上的另一个项目中运行此项目,我已经配置了IIS以使用.NET 2.0,并且在VS中将项目定位到3.5 我甚至尝试将此添加到web.config中,它可以编译而不需要任何lambda / linq。
4个回答

10

好的,这里是答案...

我将项目更改为针对.NET 3.0,尝试编译时遇到各种错误,将其改回3.5后,它成功编译。

可能有一个旧的引用存在。


很奇怪。我也遇到了同样的问题,但目标开关运行正常。哈哈,谢谢。 - Vasile Tomoiaga
这真是救命稻草。感谢您回来并让我们知道哪个方法有效!微软...咕噜... - Mike Cheel
我也遇到了同样的问题。目标设置为4.0,然后出现了错误。将其更改为2.0,然后再更改回4.0,问题解决了。谢谢! - Aaron J Spetner

4

根据错误信息,我认为您的Vista机器存在配置问题,而Web项目正在使用2.0编译器而不是3.5编译器。这是我能想到的唯一原因,您会收到此消息。

请确保:

  • IIS已正确配置
  • Web设置已正确配置

我已经配置了我能想到的所有内容,除了上面提到的(修改过的)内容之外,我还需要做些什么? - schmoopy

0

0
在这种情况下,"val"是什么?您在示例中从未声明过它。您是指 "n.Value" 吗?

我编辑了上面的内容,val是通过参数传递的字符串,但现在上面的内容应该更有意义了 :-) - schmoopy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接