突然现有的代码开始给出以下错误。奇怪的是,这段代码在其他机器上运行良好。
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类创建的数据上下文中。
我发现这就是导致多次引用的原因,一旦我删除了前一个类,一切都工作得很好。