我刚开始用Net Core 2.0
编写一个新的应用程序,我有这个结构:
ConsoleApp
Library
该ConsoleApp
导入Library
引用,是一个DLL, Library
进口HtmlAgilityPack 1.8.0
可供查看的最后一个版本。
当我运行ConsoleApp
,我收到此错误:
Library.dll中类型为“System.IO.FileNotFoundException”的未处理异常无法加载文件或程序集“HtmlAgilityPack,Version = 1.8.0.0,Culture = neutral,PublicKeyToken = bd319b19eaf3b43a”。找不到指定的文件。
该文件可用,如图所示:
看来我能够修复“错误”。总而言之,我有两个应用程序,第一个是.NET Core控制台应用程序,第二个是.NET Core库。因此,我删除了第二个程序集(.NET Core库),并创建了与.NET标准库相同的项目。
我遇到了同样的问题:运行控制台应用程序时,编译器显示错误消息:
Library.dll中类型为'System.IO.FileNotFoundException'的未处理的异常无法加载文件或程序集'HtmlAgilityPack,版本= 1.8.0.0,区域性=中性,PublicKeyToken = bd319b19eaf3b43a'。找不到指定的文件。
因此,我尝试将HtmlAgilityPack
也安装在控制台应用程序上,并且像黑魔法一样,这非常有效。
因此,我想应该将对导入的库使用的依赖项也添加到控制台应用程序中,因为.NET Core必须确保导入的库的所有依赖项都与.NET Core兼容。
恕我直言,这应该由Microsoft指定,同样,此问题应由Visual Studio本身解决。为什么需要两次添加依赖项?
当然,我不会接受我自己的答案。我宁愿等待有人解释这种情况。