c# - 无法使用 .NET Core 2.0 加载文件或程序集

标签 c# visual-studio .net-core html-agility-pack

我刚刚开始使用 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.

该文件可用,如图所示:

enter image description here

最佳答案

看来我能够修复这个“错误”。总而言之,我有两个应用程序,第一个是 .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/

相关文章:

asp.net-core - 无法刷新 Hangfire 仪表板中的统计信息

C# 创建渐变图像

c# - 如何在 WPF 列表框中禁用 Windows 声音?

visual-studio - 程序适配Windows CE 6.0

c++ - 实现 Strcat 函数

.net-core - 为什么Curve25519即使参数错误也能正确计算 key 对?

c# - 锁定跨多个线程使用的对象中的关键部分

c# - Mono编译时如何引用Microsoft.Boogie?

visual-studio - 如何阻止 Visual Studio 创建 pdb 调试文件夹?

c# - .Net Core 3 控制台无法从 appsettings 获取连接字符串