抛出异常,潜在的Fizzler dll版本不匹配

本文关键字:dll 版本 不匹配 Fizzler 抛出异常 | 更新日期: 2023-09-27 17:54:24

我们最近更新了项目中的一堆dll,包括html lagilitypack到最新版本。这使得下面的代码在第一行开始抛出错误。

List<HtmlNode> foundNodes = document.QuerySelectorAll(".divider").ToList();
foreach(HtmlNode node in foundNodes){
    doWhatever(node);
}

方法未找到:'System.Collections.Generic. 'IEnumerable ' 1 HtmlAgilityPack.HtmlNode.Descendants()"。

堆栈跟踪的最后一行是:

在Fizzler.Systems.HtmlAgilityPack.HtmlNodeOps

" 。b__71 (HtmlNode n) "

QuerySelectorAll正在返回HtmlNode的IEnumerable,但是我似乎无法将其转换为列表了。我冒昧地猜测,现在有一些相关的dll与不兼容的版本(fizzler?)缺少Descendants方法?然而,htmllagilitypack的NuGet页面显示没有依赖关系,我使用的fizzler版本是1.0.0,我认为这是正确的。

抛出异常,潜在的Fizzler dll版本不匹配

当我升级了htmllagilitypack包后,我也出现了同样的错误。

我决定现在从1.4.9.4降级到1.4.9。

让我们看看这个包的下一个版本

免责声明:我是Html敏捷包项目的所有者

1.5.0版本已经发布,这个问题已经在v1.5.0-beta5中修复。

这是由于在v1.4.9.5

中向方法添加了默认参数而导致的。

由于库是强命名的,Fizzler找不到这个方法。

我有一个非常类似的错误,从1.4.9.5回滚到1.4.9解决了这个问题,但不完全确定为什么。