Unity中HtmlAgilityPack未找到问题求助(已通过VS NuGet安装)
解决Unity中HtmlAgilityPack引用找不到的问题
我之前在Unity 2017这类老版本里也踩过这个坑——明明在VS里通过NuGet装好了包,Unity编译就是报CS0246找不到命名空间。这是因为Unity的项目结构和普通.NET项目不一样,VS的NuGet不会自动把包同步到Unity的程序集引用里,给你几个靠谱的解决办法:
方法一:手动导入HtmlAgilityPack DLL
这是最直接有效的办法,步骤如下:
- 找到你NuGet包的安装路径,一般在你的解决方案目录下的
packages/HtmlAgilityPack.1.6.13/lib文件夹里 - 根据Unity的脚本运行时版本选择对应的DLL:Unity 2017默认是
.NET 3.5 Equivalent,就选net35文件夹里的HtmlAgilityPack.dll;如果已经改成.NET 4.x,就选net45的版本 - 在Unity项目的
Assets文件夹下新建Plugins文件夹(如果没有的话),把选中的DLL复制进去 - 重启Unity和Visual Studio,然后重新编译你的
Searcher.cs脚本
方法二:调整Unity的脚本运行时版本
HtmlAgilityPack 1.6.13对.NET版本有要求,Unity默认的老版本可能不兼容:
- 打开Unity,依次点击
Edit > Project Settings > Player - 在
Other Settings面板里找到Scripting Runtime Version,选择.NET 4.x Equivalent - 弹出重启提示后点击
Restart,等Unity重启完成后再尝试编译
方法三:同步Unity与VS的项目文件
有时候VS的项目文件和Unity不同步,导致引用没生效:
- 在Unity编辑器里,右键点击
Assets文件夹,选择Open C# Project,让Unity重新生成VS的项目文件 - 打开生成后的VS项目,检查
References里是否有HtmlAgilityPack,如果没有的话,右键References>Add Reference,手动找到之前的DLL添加进去
试完这几个方法,应该就能解决找不到命名空间的问题了。
内容的提问来源于stack exchange,提问作者Aiixu
相关产品推荐
相关产品推荐

