重载解析失败,因为对于这些参数,没有最特定于可访问的"Any"



突然现有的代码开始给出以下错误。奇怪的是,这段代码在其他机器上运行良好。

Overload resolution failed because no accessible 'Any' is most specific for these arguments:
Extension method 'Public Function Any() As Boolean' defined in 'System.Linq.Enumerable': Not most specific.
Extension method 'Public Function Any() As Boolean' defined in 'System.Linq.Enumerable': Not most specific.

on line sites.any()在下面代码

Dim sites As IEnumerable(Of A.Commerce.ContentManagement.Entity.Site) = SiteManager.GetSitesByType(SiteType.Website)
If ((Not IsNothing(sites)) And sites.Any()) Then

我在一些帖子中看到了调用语法错误的决议。但在我的情况下,这在另一台电脑上运行良好。我的机器出问题了吗?我只记得我用GAC做了一些安装/卸载。有人能帮忙吗?

编辑::

只是观察到它特定于溶液和机器的组合。因为下面的代码可以很好地在单独的项目中使用。any()函数。

' Create a list of Integers.    
Dim numbers As New List(Of Integer)(New Integer() {1, 2})
' Determine if the list contains any items. 
Dim hasElements As Boolean = numbers.Any()
' Display the output. 
Dim text As String = IIf(hasElements, "not ", "")
MsgBox("The list is " & text & "empty.")

edit 2:所有Linq方法都出错了。比如没有可访问的"First",没有可访问的"FirstOrDefault",没有可访问的"Where"等等……任何帮助吗?

最后我决定…:)

System.Core.dll是罪魁祸首。不知何故,我的解决方案开始引用version 3.5 of System.Core.dll,虽然我的解决方案的目标是。net框架4.5。3.5版本对System.Linq.Enumerable函数有不同的实现。

谢谢大家的帮助。

我也遇到过类似的情况,发现了两件事。我正在跟随一个教程,其中有人使用了一个泛型类来演示模型和视图的使用。然后,他继续演示如何从数据库生成视图。

然而,他没有提到之前的类,它有像名字,姓氏等属性,被删除,因为这些现在反映在从linq到sql类创建的数据上下文中。

我发现这就是导致多次引用的原因,一旦我删除了前一个类,一切都工作得很好。

相关内容

  • 没有找到相关文章

最新更新