HtmlAgilityPack - 找不到文件
Posted
技术标签:
【中文标题】HtmlAgilityPack - 找不到文件【英文标题】:HtmlAgilityPack - File Not found 【发布时间】:2012-09-10 20:59:46 【问题描述】:我正在 SharePoint Foundation 中开发 C# ASP .NET WebPart。
一切正常,现在我想解析一个 html 页面以获取所有 ImagePaths 并将图像保存在 HD/Temp 上。
为此,我正在下载当前版本的 HtmlAgilityPack,添加对 Project 的引用,一切正常,IntelliSense 工作正常。
但是当我想运行应该使用 HtmlAgilityPack 的部分时,我的浏览器会显示一个
FileNotFoundException - 找不到文件或程序集。
在第一次搜索后,我尝试包含 HtmlAgilityPack v1.4.0,因为我读到当前版本在某些情况下并不是很稳定。这工作正常,直到我想使用 HtmlAgilityPack,同样的异常。
我也尝试将 HtmlAgilityPack 直接移动到解决方案目录,没有任何改变。
我尝试通过using
插入 HtmlAgilityPack 并尝试直接调用,例如HtmlAgilityPack.HtmlDocument
.
结论:
当我编译没有错误发生时,引用设置正确。
当我使用 ProcMon 跟踪 HtmlAgilityPack.dll
时,路径显示正确,但有时结果是 'File Locked with only Readers
' 但我对 ProcMon 了解不足,无法知道这意味着什么或者这是否很关键.它与文件权限无关,因为如果我检查 DLL,则所有权限都已给出。
【问题讨论】:
您是否从与构建项目的位置不同的位置运行可执行文件...如果是这样,HTMLAgility Pack.dll 文件需要存在于根文件夹中。如果您不这样做,请尝试将 .DLL 文件放入存储 exe 的 bin 文件夹中? 尝试将Copy local
设置为 true
以供 HtmlAgilityPack 参考。
您使用的是 .NET 2 版本的 HAP 对吗?因为 SP 是 .NET 3.5
使用哪个版本的 Sharepoint?这听起来更像是 Sharepoint 问题,而不是 HAP 问题。
您是否尝试将 HtmlAgilityPack dll 放入 GAC?如果您通过带有 gacdeployment 开关的 SharePoint 解决方案部署此功能,那么工作进程将不会从 bin 加载 dll。
【参考方案1】:
我在这种组合中使用了 HTML 敏捷性,它非常适合我。 请尝试在下方查看并确认。
下载的 DLL 版本应该支持您的解决方案。 确保在 GAC 中放置一份副本。【讨论】:
以上是关于HtmlAgilityPack - 找不到文件的主要内容,如果未能解决你的问题,请参考以下文章
Html Agility Pack/C#:如何创建/替换标签?