最近,我们在我们的项目中更新了一堆dll,包括HtmlAgilityPack,使其更新为最新版本。这使得下面的代码开始工作,在第一行上抛出错误。
List<HtmlNode> foundNodes = document.QuerySelectorAll(".divider").ToList();
foreach(HtmlNode node in foundNodes){
doWhatever(node);
}找不到方法:'System.Collections.Generic.IEnumerable`1 System.Collections.Generic.IEnumerable`1
堆栈跟踪的最后一行是:
“Fizzler.Systems.HtmlAgilityPack.HtmlNodeOps.b__71(HtmlNode n))”
QuerySelectorAll正在返回一个IEnumerable of HtmlNode,但是我似乎不能再把它转换成列表了。我会冒险猜测现在有一些不兼容版本的相关dll (fizzler?)缺少Descendants方法?但是,NuGet页面 for HtmlAgilityPack不显示依赖项,我使用的fizzler版本为1.0.0,我认为这是正确的。
发布于 2016-07-13 13:04:04
在我升级HtmlAgilityPack nuget包后,我也发生了同样的错误。
目前,我已将评级从1.4.9.4降至1.4.9。
让我们看看这个包的下一个版本。
发布于 2017-07-04 21:01:00
免责声明:我是项目Html敏捷包的所有者
版本1.5.0已经发布,这个问题已经在版本1.5.0-Beta5中解决了。
这是由于向v1.4.9.5中的方法添加了默认参数而导致的。
由于库是强命名的,Fizzler无法再找到此方法。
发布于 2016-11-08 22:46:07
我有一个非常类似的错误,将它从1.4.9.5回滚到1.4.9版本解决了它,但不完全确定原因。
https://stackoverflow.com/questions/38182384
复制相似问题