Ho appena iniziato a scrivere una nuova applicazione con Net Core 2.0
e ho questa struttura:
ConsoleApp
Library
la ConsoleApp
importa il riferimento alla Library
che è una dll e la Library
importa HtmlAgilityPack 1.8.0
che è l'ultima versione disponibile.
Quando ConsoleApp
, ottengo questo errore:
Eccezione non gestita di tipo 'System.IO.FileNotFoundException' in Library.dll Impossibile caricare il file o l'assembly 'HtmlAgilityPack, Versione = 1.8.0.0, Cultura = neutra, PublicKeyToken = bd319b19eaf3b43a'. Il file specificato non è stato trovato.
Il file è disponibile, come puoi vedere nell'immagine:
Sembra che sono stato in grado di correggere il "bug". Per riassumere, ho due applicazioni, la prima è un'applicazione console .NET Core e la seconda è una libreria .NET Core. Quindi ho rimosso il secondo assembly (.NET Core Library) e ho creato lo stesso progetto di .NET Standard Library.
Ho avuto lo stesso problema: quando eseguo l'applicazione console, il compilatore mostra il messaggio di errore:
Eccezione non gestita del tipo "System.IO.FileNotFoundException" in Library.dll Impossibile caricare il file o l'assemblaggio "HtmlAgilityPack, Versione = 1.8.0.0, Culture = neutral, PublicKeyToken = bd319b19eaf3b43a". Impossibile trovare il file specificato.
Quindi ho provato a installare HtmlAgilityPack
anche sull'applicazione Console e, come per magia oscura, ha funzionato perfettamente.
Quindi suppongo che dovrei aggiungere la dipendenza utilizzata nella libreria importata anche nell'applicazione console, poiché .NET Core deve essere sicuro che tutte le dipendenze della libreria importata siano compatibili con .NET Core.
IMHO, questo dovrebbe essere specificato da Microsoft e, di nuovo, questo problema dovrebbe essere gestito da Visual Studio stesso. Perché devo aggiungere due volte le dipendenze?
Certo, non accetterò la mia risposta; Preferisco aspettare qualcuno che spieghi questa situazione.