2014-03-26 17 views
1

我使用「先賢篇」版本1.2.3.1,但是當我添加的「HTML敏捷」 1.4.6.0版本的項目中,我得到這個錯誤:添加HtmlAgility包和先賢篇網絡爬蟲到項目

錯誤38大會「版本= 1.2.3.1,文化=中性, PublicKeyToken = null'使用'HtmlAgilityPack,版本= 1.4.7.0, Culture = neutral,PublicKeyToken = bd319b19eaf3b43a'其中 版本比引用程序集'HtmlAgilityPack版本= 1.4.6.0, Culture = neutral,PublicKeyToken = bd319b19eaf3b43a'

+0

然後使用HtmlAgilityPack 1.4.7.0 –

+0

有沒有HtmlAgilityPack 1.4.7.0.http://htmlagilitypack.codeplex.com/ – Phonix

+0

看起來像[中繼版本](http://htmlagilitypack.codeplex.com/SourceControl /latest#Trunk/HtmlAgilityPack/Properties/AssemblyInfo.cs)是1.4.7,也許作者是直接加入源代碼的? –

回答

2

我在Abot之前從NuGet安裝HtmlAgilityPack並解決問題!

1- 
PM> Install-Package HtmlAgilityPack 
2- 
PM> Install-Package Abot 
+0

這對我來說並沒有解決問題 – leen3o

+0

在安裝Boilerpipe(或任何引用HAP <= 1.4.9的包)時工作正常,但Unfluff.Net(使用HAP> = 1.4.9.5)失敗。 @ Thorgeir的答案適用於 – robasta

2

Abot使用補丁版的html敏捷包,因爲它會在特定類型的html頁面上崩潰進程。看到這裏的問題記錄在案......

https://code.google.com/p/abot/issues/detail?id=77&can=1&q=htmlagilitypack

有GitHub上的問題進行調查,如果這是仍與HTML敏捷包的的NuGet版本(我敢肯定有)中的問題。因此,直到nuget版本不會使主機進程崩潰,Abot會喜歡保留它的補丁版本的html敏捷包。

https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fsjdirect%2Fabot%2Fissues%2F25&sa=D&sntz=1&usg=AFQjCNEpS2q4AuuejXdc3F8P2cVB-VtSSQ

+0

這個問題的狀態如何?還是有其他的選擇? – liang

+1

Html敏捷包仍然存在此問題。 Abot v1.5可能只是使用CsQuery作爲鏈接解析的默認值,因爲它不會遇到這個問題。我甚至可能會完全刪除Html Agility Pack以除去依賴項。 – sjdirect

+0

上週仍然存在問題。通過在[本頁](https://ci.appveyor.com/project/sjdirect/abot/build/1.5.1.17)上搜索,查看最新的失敗版本,以瞭解「由於StackOverflowException導致進程終止」文本。這個測試不會在具有大量CPU和內存的機器上失敗,但最小的構建服務器會崩潰。 – sjdirect

3

我知道這是舊的,但我只是碰到了這個問題。也就是說,當我添加最新版本的HAP時,Abot不工作。但是解決方法很簡單,只需使用CSQueryHyperlinkParser解析鏈接即可。像這樣:

var crawler = new Abot.Crawler.PoliteWebCrawler(config, null, null, null, null, new Abot.Core.CSQueryHyperlinkParser(), null, null, null); 

這解決了我的問題。