【发布时间】:2014-02-24 12:56:03
【问题描述】:
升级到 Visual Studio 2013 后,我在我的一个 WCF Framework 4.0 项目中看到了错误。无论哪里有 LINQ 实体查询,我都会在使用任何 LINQ 函数(例如 Any()、Single()、SingleOrDefault()、OrderBy() 等)时看到此错误:
Error 3 The type arguments for method
'System.Linq.Enumerable.OrderBy<TSource,TKey>(System.Collections.Generic.IEnumerable<TSource>,
System.Func<TSource,TKey>)' cannot be inferred from the usage. Try
specifying the type arguments explicitly.
产生错误的示例代码行:
xxxxXXXXXXStatusList = xxxXXXXXContainer.XXXXXXXStatus.OrderBy(a => a.Status).ToList();
还有:
Error 42 Delegate
'System.Func<BusinessAccess.Entities.XXXPortal.XXXXXXXXInfo, int,
bool>' does not take 1 arguments
举例:
xxxxxxInfo = xxxXXXXXContainer.XXXXXList.Where(c => c.xxxxxxid.Equals(xxxxxxid)).Single();
这是我尝试过的:
- 构建项目。它会成功构建并暂时隐藏错误,直到代码被编辑。
- 删除 LINQ 引用并重新添加。不成功。
- 检查目标框架是否仍为 4.0。是的。
- 查看了从 2010 年到 2013 年的迁移日志,显示迁移成功。
- 正在升级到 VS2013 更新 1:正在进行中...
非常感谢任何想法。显然这是一个引用/编译配置问题,但它目前正在躲避我。
非常感谢您的宝贵时间。
【问题讨论】:
-
VS2013 只兼容 MVC4。
标签: .net visual-studio-2010 linq build visual-studio-2013