2015-12-31 15 views
5

Ambiente: VS Enterprise 2015 Update 1, Package Manager Console Host versione 3.3.0.167NuGet non spacchettare assemblee dal pacchetto

Procedura per riprodurre: basta creare un nuovo progetto (ad esempio applicazione di console) targeting Net 4.5.2 (ma provato anche con altre versioni .net).

Quando si installa un pacchetto nuget, il pacchetto viene scaricato e apparentemente installato senza errori. Tuttavia, nuget non aggiunge un riferimento alla dll. Quando si guarda nella cartella dei pacchetti, risulta che non ci sono file .dll decompressi, sebbene il file .nupkg sia presente e non sia corrotto (posso aprirlo con nuget package explorer e vedere il contenuto della cartella lib).

Qualche idea di cosa potrebbe causare questo?

uscita in consolle gestore di pacchetti:

PM> install-package log4net -verbose 
    Attempting to gather dependencies information for package 'log4net.2.0.5' with respect to project 'ConsoleApplication4', targeting '.NETFramework,Version=v4.5.2' 
    Attempting to resolve dependencies for package 'log4net.2.0.5' with DependencyBehavior 'Lowest' 
    Resolving actions to install package 'log4net.2.0.5' 
    Resolved actions to install package 'log4net.2.0.5' 
    For adding package 'log4net.2.0.5' to project 'ConsoleApplication4' that targets 'net452'. 
    For adding package 'log4net.2.0.5' to project 'ConsoleApplication4' that targets 'net452'. 
    Adding package 'log4net.2.0.5' to folder 'c:\Projects\ConsoleApplication4\packages' 
    Added package 'log4net.2.0.5' to folder 'c:\Projects\ConsoleApplication4\packages' 
    Added package 'log4net.2.0.5' to 'packages.config' 
    Added file 'packages.config' to project 'ConsoleApplication4'. 
    Successfully installed 'log4net 2.0.5' to ConsoleApplication4 

contenuto della cartella del pacchetto:

C:\Projects\ConsoleApplication4\packages\log4net.2.0.5>tree /f . 
Folder PATH listing for volume OSDisk 
Volume serial number is 8CE4-F2E5 
C:\PROJECTS\CONSOLEAPPLICATION4\PACKAGES\LOG4NET.2.0.5 
¦ log4net.2.0.5.nupkg 
¦ 
+---lib 
    +---net10-full 
    ¦  log4net.xml 
    ¦ 
    +---net11-full 
    ¦  log4net.xml 
    ¦ 
    +---net20-full 
    ¦  log4net.xml 
    ¦ 
    +---net35-client 
    ¦  log4net.xml 
    ¦ 
    +---net35-full 
    ¦  log4net.xml 
    ¦ 
    +---net40-client 
    ¦  log4net.xml 
    ¦ 
    +---net40-full 
    ¦  log4net.xml 
    ¦ 
    +---net45-full 
      log4net.xml 

UPDATE: accade per alcuni, ma non tutti i pacchetti Nuget

+1

Ho lo stesso identico problema sul mio PC di casa (ma non sul mio PC di lavoro) e non sono ancora riuscito a risolverlo. Ho provato a reinstallare VS e ho provato una versione precedente di Nuget Package Manager. – Anthony

+1

Log4Net sembra funzionare per me, ma altri pacchetti come RestSharp e Twilio non estraggono i file DLL o aggiungono il riferimento al progetto – Anthony

risposta

12

La soluzione delineata in questo pagina sembrava funzionare - https://connect.microsoft.com/VisualStudio/feedback/details/1656768/installing-certain-nuget-packages-fails-to-actually-extract-the-dll-files-to-the-relevant-lib-folder-and-fails-to-add-an-assembly-reference-to-the-csproj-file

, pubblicato da Miles Rush il 25/11/2015 alle 12:16 PM

Ho appena risolto questo problema sul mio> sistema. Sono entrato nel profilo utente NuGet cache (C: \ Users \ .nuget \ packages), e cancellato tutto in lì. Penso che durante il processo di ripristino la mia cache sia stata cancellata da tutti i file DLL e quando ho provato a installare un pacchetto stava usando la cache invece dei file fuori da NuGet. Ora che ho cancellato la cache , ora posso installare i pacchetti NuGet.

+0

Buona ricerca, ha funzionato! – jeroenh

+0

Questo ha risolto il problema per cui avevo battuto la testa per ore. Avevo provato a riparare la mia installazione di VS, a svuotare la cache AppData \ Local \ NuGet, eliminare tutta la mia cartella TFS e tirarla di nuovo dal server, ripristinare il sistema, fare sacrifici agli dei antichi ... questa è la prima cosa che ha funzionato. Ti devo per i veri. –

1

Ho appena riscontrato questo problema (VS2017 Enterprise) e mentre la risposta di cui sopra non ha risolto il problema, eliminando tutto nella cartella dei pacchetti per la soluzione.

Problemi correlati