.NET Core 2.0程序集加载失败求助:无法加载HtmlAgilityPack
解决.NET Core 2.0中HtmlAgilityPack程序集加载失败的问题
兄弟,我之前在.NET Core 2.0项目里也碰到过一模一样的坑,给你几个亲测有效的解决办法:
先排查最常见的原因:依赖未被复制到输出目录
运行ConsoleApp时找不到HtmlAgilityPack.dll,大概率是这个库没有被复制到ConsoleApp的输出文件夹里。你可以先去ConsoleApp的bin/Debug/netcoreapp2.0(或者Release目录)里看看有没有这个文件,没有的话按下面的方法处理:
方法1:把DLL引用改成项目引用(最稳妥)
如果你现在是直接在ConsoleApp里添加Library编译好的DLL文件引用,赶紧改成项目引用:
- 右键ConsoleApp项目 → 添加 → 项目引用
- 勾选你的Library项目,点击确定
改成项目引用后,.NET Core会自动处理依赖传递,编译时会把Library依赖的HtmlAgilityPack.dll一起复制到ConsoleApp的输出目录,彻底解决找不到文件的问题。
方法2:手动补充依赖包
如果必须用DLL引用的方式,那有两个小技巧:
- 直接在ConsoleApp的NuGet包管理器里安装一次HtmlAgilityPack 1.8.0,这样NuGet会自动把这个库的DLL放到输出目录
- 或者从Library项目的输出目录(比如
Library/bin/Debug/netstandard2.0)里找到HtmlAgilityPack.dll,手动复制到ConsoleApp的输出目录里
其他可能的解决办法
- 清理重建解决方案:右键解决方案 → 清理解决方案,然后再右键 → 重建解决方案。有时候编译缓存的旧文件会搞出奇怪的依赖问题,清一下就好
- 重新还原NuGet包:打开包管理器控制台,运行
dotnet restore命令,确保所有依赖包都正确下载并还原到本地
内容的提问来源于stack exchange,提问作者fantaghiro
相关产品推荐
相关产品推荐

