LINQ设计时错误从VS2010升级到VS2013

时间:2014-01-31 17:47:53

标签: .net visual-studio-2010 linq build visual-studio-2013

升级到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 Update 1:正在进行中......

任何想法都非常感激。显然这是一个引用/编译配置问题,但它目前正在逃避我。

非常感谢你的时间。

1 个答案:

答案 0 :(得分:2)

我们在内部找到了它。对于其他任何人看到Intellisense的毯子问题,但能够成功构建:

  • Visual Studio 2013与MVC3不兼容,后者导致我们的UI项目中出现所有错误。
  • 还发生了与实体框架4不兼容的问题,这正是我上面特别看到的。

我希望这可以帮助某个人。