2016-07-04 9 views
5

Kısa bir süre önce, son sürümlerine HtmlAgilityPack dahil olmak üzere, projemizde bir grup dll güncellemesini güncelledik. Bu, çalışmakta olan aşağıdaki kodu ilk satırda hata atmaya başladı. bulunamadıHTMLAgilityPack QuerySelectorAlletme istisnası, potansiyel olarak Fizzler dll sürümü uyuşmuyor mu?

List<HtmlNode> foundNodes = document.QuerySelectorAll(".divider").ToList(); 

foreach(HtmlNode node in foundNodes){ 
    doWhatever(node); 
} 

Yöntem: 'System.Collections.Generic.IEnumerable`1 HtmlAgilityPack.HtmlNode.Descendants().

yığın izleme son hattıdır:

"Fizzler.Systems.HtmlAgilityPack.HtmlNodeOps.b__71 de (HtmlNode n)"

QuerySelectorAll HtmlNode bir IEnumerable dönen Ancak Artık bir listeye yayınlayamam mümkün görünmüyor. Ben Descendants yöntemi eksik şimdi (fizzler?) Uyumsuz bir sürümü ile ilgili bazı dll bir tahmin tehlikesi olurdu? Ancak HtmlAgilityPack için NuGet page hiçbir bağımlılık gösterir ve kullanıyorum fizzler sürümü doğru olduğunu düşünüyorum 1.0.0 olduğunu.

+0

Hem HtmlAgilityPack'i hem de Fizzler'ı kaldırmayı ve güncel sürümlerini yüklemeyi denediniz mi? – Veverke

+0

Evet, boşuna. İstisna derinliklerine baktığımızda, 'Fizzler.Systems.HtmlAgilityPack' dll' C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files'den yüklenmekte ve eski bir versiyon olduğundan emin değilsiniz. niye ya. Klasörü silmeyi ve projeyi yeniden yüklemeyi denedim ama bir şekilde aynı. AngleSharp'ı kullanmaya başladık, çünkü kullanımı çok benzer olduğu için basit bir değişim oldu. – James

+0

'AngleSharp' kullandığınız ilk tahmindi (' QuerySelectorAll' bana tanıdık geliyor). Sorunu yeniden oluşturmanızı öneririm: bir konsol uygulaması oluşturun, gerekli paketleri (en son sürümleri) yükleyin ve basit bir 'QuerySelectorAll 'çağrısı yayınlayın. Orada da oluyor mu? Değilse (ve muhtemelen değil), belki de 'packages.config' dosyasını silebilir ve sonra ilgili tüm paketleri kaldırabilirsiniz? (sipariş ters olabilir - kaldırın ve dosyayı silin) ​​ve tekrar yüklemeyi deneyin. – Veverke

cevap

10

HtmlAgilityPack nuget paketini yükselttikten sonra benimle aynı hatayı yaşıyor.

Şu an için 1.4.9.4'ten 1.4.9'a düşürmeyi çözdüm.

Bu paketin sonraki sürümlerini görelim.

+0

Merhaba Alberto, yanıt için teşekkürler. Ne yazık ki bunu zaten denedim ve bu benim için sorunu çözmedi, bu yüzden ben bunu cevap olarak işaretlemeyeceğim (ama yukarı) – James

+1

Paketler klasöründen 1.4.9.4 dosyalarını kaldırdınız mı? –

1

Çok benzer bir hata yaptım ve 1.4.9.5 sürümünden 1.4.9 sürümüne geri döndürdüm, ancak neden tamamen emin olmadığından emin değilim.

1

Yasal Uyarı: Ben Html Agility Pack

sürümü 1.5.0 yayımlandı projenin sahibi değilim ve bu sorun v1.5.0-beta5 giderilmiştir. Bir varsayılan parametre v1.4.9.5 kütüphane kesin adlandırılmış olduğundan

, Fizzler artık bu yöntemi bulamadık bir yönteme eklendi çünkü

O neden oldu.

İlgili konular