2016-04-29 18 views
10

Ho combattuto con questo errore per diverse ore e non riesco a trovare una soluzione che funzioni.Pacchetto Nuget ... non esiste nel progetto ... Pacchetto ... Esiste già nella cartella

Ho un'API ASP.Net all'interno di una soluzione multiprogetto con i suoi riferimenti/dipendenze configurati in modo errato e ho cercato di risolverlo per due giorni.

Il problema è (credo) che l'API manca System.Web.Http/System.Web.Http.WebHost che a quanto pare è incluso con Microsoft.AspNet.WebApi.Core (per molteplici altre domande Stack Overflow). Quando provo a installarlo tramite Nuget, ottengo il seguente errore quando tento di risolvere la dipendenza. Inoltre ho ottenuto questo errore ogni volta (vedi il mio la risoluzione dei problemi più avanti in questa domanda):

Screenshot of Package Manager Console

Ho fatto le seguenti operazioni in ordine sparso (più volte in ciascuna delle varie combinazioni):

  • Run 'Update-package Microsoft.AspNet.WebApi.Core -reinstall'
  • eliminare i "pacchetti" cartella della soluzione a livello ed eliminare packages.config del progetto e tentare di ripristinare pacchetti
  • D elete l'intero progetto dall'unità fisica e TFS e lo ricrea da zero (crea con i riferimenti errati)
  • Installa il pacchetto tramite la riga di comando e la GUI Nuget
  • Controlla la soluzione in diverse posizioni sul mio disco rigido nel tentativo di avviare il più fresco possibile
  • Riavviare il computer/riavviare Visual Studio

a questo punto io sto bene con una correzione non pulito, finché lo ripara. L'API funzionava a un certo punto, ma poi l'ho controllato in TFS, creato un ramo e ora sto lavorando sul ramo. Forse alcune dipendenze non sono state incluse (?) Ma anche se questo fosse il caso, sembra che i passi che ho preso dovrebbero risolvere il problema.

+1

La cartella "Pacchetti" è stata archiviata in TFS? – vendettamit

+2

hai provato a eseguire 'update-package -reinstall'? questo comando reinstalla tutti i pacchetti in tutti i progetti – nazarevic

+0

@vendettamit Lo è. Suppongo di non aver provato a cancellarlo da TFS, ma in questo momento sto solo cercando di farlo funzionare localmente.Pensi che sia un vantaggio provare a cancellarlo da TFS? –

risposta

4

Chiudere la soluzione, quindi passare alla cartella dei pacchetti sul disco rigido ed eliminare tutto il suo contenuto. Apri nuovamente l'applicazione in Visual Studio e tenterà automaticamente di ripristinare i pacchetti. Pulisci la soluzione e costruiscila.

0

In primo luogo, disinstallare tramite il gestore di pacchetti consolare il pacchetto specifico NuGet

Poi, si prega di scaricare il progetto in cui questo pacchetto pepita è stato fatto riferimento dal tasto destro del mouse -> Scarica progetto.

Dopo lo scarico destro del mouse nel progetto e selezionare "Modifica {} Nome del progetto Csproj"

Individuare la voce pacchetto di NuGet all'interno del XML in cui è stato precedentemente disinstallato ed eliminarlo.

Installa nuovamente il pacchetto dalla console del gestore pacchetti ...