【发布时间】:2010-09-28 23:23:24
【问题描述】:
我最近使用内置的转换工具将 Web 应用程序项目(以及一些依赖项目)从 .net 2.0 升级到了 .net 3.5。一切都运行良好,例如使用 MS AJAX 3.5 与 2.0 中的外部 MS AJAX 库。
我在尝试使用新的 Lambda 表达式语法时出现问题。编译器不会将 Lambda 表达式识别为有效语法。解决方案中所有项目的目标框架版本都设置为 3.5。我还能够在同一解决方案的库项目中成功使用 Lambda 表达式。
这是给我错误的代码。没什么特别的。
ObjectFactory.Initialize(x =>
{
x.ForRequestedType<IUnitIdSequencingService>().TheDefaultIsConcreteType<UnitIdSequencingService>();
x.ForRequestedType<IGadgetDAO>().TheDefault.Is.OfConcreteType<GadgetDAO>().WithCtorArg("instance").EqualToAppSetting("OSHAInspectionManager");
});
我得到的具体错误是:
Error 102 Invalid expression term '>' D:\projects\bohlco\pmr\PMR\Web\App_Code\Bootstrapper.cs 13 41 D:\...\Web\
任何帮助将不胜感激。我一直在搜索谷歌,运气不佳
【问题讨论】:
-
以下函数是否编译?私有 void v() { Func
f = x => x; f(1); }
标签: c# asp.net visual-studio-2008 .net-3.5 lambda