私は途方に暮れています。XPath を使用してノードを選択しようとするたびに、HtmlAgilityPack でこの例外が発生し続けます。この例だけでまったく新しいソリューションを開始しても問題は残ります (したがって、アプリケーション コードが何らかの形で干渉することは問題ではありません。Web ページやインターネット接続などに問題はありません。これは以前に機能していました.何らかの形で破損したdllを疑い、再ダウンロードしましたが、役に立ちませんでした.何かアイデアはありますか??
using System;
using HtmlAgilityPack;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var web = new HtmlWeb();
var doc = web.Load("http://www.google.com");
var root = doc.DocumentNode;
var links = root.SelectNodes("//a");
// Error! ArgumentOutOfRangeException: Index was out of range.
// Must be non-negative and less than the size of the collection.
}
}
}
/*
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
at HtmlAgilityPack.HtmlNodeNavigator.MoveToFirstChild()
at MS.Internal.Xml.XPath.XPathDescendantIterator.MoveNext()
at MS.Internal.Xml.XPath.DescendantQuery.Advance()
at MS.Internal.Xml.XPath.XPathSelectionIterator.MoveNext()
at HtmlAgilityPack.HtmlNode.SelectNodes(String xpath)
at ConsoleApplication1.Program.Main(String[] args)
*/
編集:
うーん...どのように起こったのか、何をしたのかはわかりませんが、.dll が GAC_MSIL フォルダーにインストールされていることがわかりました。それを削除すると、すぐに問題が解決しました。だから、気にしないで!