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#:如何创建/替换标签?

使用 XAMPP 找不到错误 404 页面

找不到网站页面和渲染问题

无缘无故找不到Codeigniter 404页面

如何将 HtmlAgilityPack 添加到 Visual Studio 2010 项目

instruments无法连接,设备查询不到,找不到工程,查询不到对应app