2012-09-18 33 views
4

我正在开发一个C#ASP .NET WebPart在SharePoint基础。HtmlAgilityPack - 文件未找到

一切工作正常,现在我想解析一个HTML页面以获取所有ImagePath并将图像保存在HD/Temp上。

要做到这一点,我正在下载HtmlAgilityPack,当前版本,添加对Project的引用,一切都看起来不错,IntelliSense工作正常。

但是,当我想在何处运行HtmlAgilityPack应该用我的浏览器中的部分显示了我

FileNotFoundException异常 - 在文件或程序找不到。

第一次搜索后,我试图包含HtmlAgilityPack的v1.4.0,因为我读了当前版本在某些情况下不是很稳定。这工作正常,直到我想使用HtmlAgilityPack,同样的例外。

我也尝试将HtmlAgilityPack直接移动到Solution目录,没有任何改变。

我试图通过using插入HtmlAgilityPack,我试着直接拨打HtmlAgilityPack.HtmlDocument

结论:

  • 当我编译没有发生错误,在设置参考正确的。

  • 当我使用ProcMon跟踪HtmlAgilityPack.dll时,路径显示正确,但有时结果为'File Locked with only Readers',但我不知道ProcMon知道这意味着什么或者这是否至关重要。它不能与文件权限有关,因为如果我检查DLL的权限都是给定的。

+1

是否将可执行文件从其他位置运行到构建项目的位置?如果是,则HTMLAgility Pack.dll文件需要存在于根文件夹中。如果你没有这样做,请尝试将.DLL文件放在exe文件所在的bin文件夹中? – Derek

+2

尝试将HtmlAgilityPack引用的'Copy local'设置为'true'。 – Nasreddine

+0

您正在使用.NET 2版本的HAP是否正确?因为SP是.NET 3.5 – Stephen

回答

0

我对这种组合使用了HTML敏捷性,它对我来说非常合适。 请尝试检查下面并确认。

  • 下载的DLL版本应该支持你的解决方案。
  • 请务必在GAC中放置副本。