我刚刚开始使用 Net Core 2.0
编写一个新应用程序,我的结构如下:
ConsoleApp
Library
ConsoleApp
导入作为 dll 的 Library
引用,然后 Library
导入 HtmlAgilityPack 1.8.0
这是最后一个可用版本。
当我运行 ConsoleApp
时,出现此错误:
Unhandled exception of type 'System.IO.FileNotFoundException' in Library.dll Could not load file or assembly 'HtmlAgilityPack, Version=1.8.0.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a'. The specified file could not be found.
该文件可用,如图所示:
最佳答案
看来我能够修复这个“错误”。总而言之,我有两个应用程序,第一个是 .NET Core 控制台应用程序,第二个是 .NET Core 库。因此,我删除了第二个程序集(.NET Core 库),并创建了与 .NET 标准库相同的项目。
我遇到了同样的问题:当我运行控制台应用程序时,编译器显示错误消息:
Unhandled exception of type 'System.IO.FileNotFoundException' in Library.dll Could not load file or assembly 'HtmlAgilityPack, Version=1.8.0.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a'. The specified file could not be found.
因此,我尝试在控制台应用程序上安装 HtmlAgilityPack
,并且,就像黑魔法一样,效果非常好。
所以我想我应该将导入的库上使用的依赖项也添加到控制台应用程序中,因为.NET Core必须确保导入的库的所有依赖项都与.NET Core兼容。
恕我直言,这应该由 Microsoft 指定,而且这个问题应该由 Visual Studio 本身处理。为什么我需要添加依赖两次?
当然,我不会接受我自己的答案;我更愿意等待有人解释这种情况。
关于c# - 无法使用 .NET Core 2.0 加载文件或程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49945270/