Ich fange gerade an, eine neue Anwendung mit Net Core 2.0
zu schreiben, und ich habe diese Struktur:
ConsoleApp
Library
Die ConsoleApp
importiert die Library
, die eine DLL ist, und die Library
importiert HtmlAgilityPack 1.8.0
, das die letzte verfügbare Version ist.
Wenn ich die ConsoleApp
, ConsoleApp
ich diesen Fehler:
Nicht behandelte Ausnahme vom Typ 'System.IO.FileNotFoundException' in Library.dll Konnte Datei oder Assembly nicht laden 'HtmlAgilityPack, Version = 1.8.0.0, Culture = neutral, PublicKeyToken = bd319b19eaf3b43a'. Die angegebene Datei wurde nicht gefunden.
Die Datei ist verfügbar, wie Sie auf dem Bild sehen können:
Scheint, dass ich den "Fehler" beheben konnte. Zusammenfassend habe ich zwei Anwendungen, die erste ist eine .NET Core Console-Anwendung und die zweite ist eine .NET Core Library. Daher habe ich die zweite Assembly (.NET Core Library) entfernt und dasselbe Projekt wie die .NET Standard Library erstellt.
Ich habe das gleiche Problem: Wenn ich die Konsolenanwendung ausführe, zeigt der Compiler die Fehlermeldung an:
Nicht behandelte Ausnahme vom Typ 'System.IO.FileNotFoundException' in Library.dll Datei oder Assembly 'HtmlAgilityPack, Version = 1.8.0.0, Culture = neutral, PublicKeyToken = bd319b19eaf3b43a' konnte nicht geladen werden. Die angegebene Datei wurde nicht gefunden.
Also habe ich versucht, das HtmlAgilityPack
auch auf der Konsolenanwendung zu installieren, und wie dunkle Magie funktionierte dies perfekt.
Daher sollte ich die Abhängigkeit, die für die importierte Bibliothek verwendet wird, auch zur Konsolenanwendung hinzufügen, da .NET Core sicherstellen muss, dass alle Abhängigkeiten der importierten Bibliothek mit .NET Core kompatibel sind.
IMHO sollte dies von Microsoft angegeben werden, und dieses Problem sollte wiederum von Visual Studio selbst behandelt werden. Warum muss ich die Abhängigkeiten zweimal hinzufügen?
Natürlich werde ich meine eigene Antwort nicht akzeptieren. Ich warte lieber auf jemanden, der diese Situation erklärt.