Could not load file or assembly using .NET Core 2.0

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

Question

I just start to write a new application with Net Core 2.0 and I have this structure:

ConsoleApp
Library

the ConsoleApp import the Library reference that is a dll, and Library import HtmlAgilityPack 1.8.0 that's the last version available.

When I run the ConsoleApp, I get this error:

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.

The file is available, as you can see in the image:

enter image description here

1
2
4/20/2018 7:40:04 PM

Popular Answer

Seems that I was able to fix the "bug". To summarize, I have two applications, the first one is a .NET Core Console Application, and the second one is a .NET Core Library. So I've removed the second assembly (.NET Core Library), and I've created the same project as .NET Standard Library.

I got the same problem: when I run the Console Application, the compiler shows the error message:

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.

So I've tried to install the HtmlAgilityPack also on the Console Application, and, like dark magic, this worked perfectly.

So I guess that I should add the dependency used on the Library imported also to the Console Application, because .NET Core must be sure that all the dependencies of the imported Library are compatible with .NET Core.

IMHO, this should be specified by Microsoft, and again, this problem should be handled by Visual Studio itself. Why do I need to add the dependencies twice?

Of course, I'm not going to accept my own answer; I prefer to wait for someone who explains this situation.

3
12/6/2019 1:07:27 PM


Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow