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.
Hem HtmlAgilityPack'i hem de Fizzler'ı kaldırmayı ve güncel sürümlerini yüklemeyi denediniz mi? – Veverke
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
'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