Sorgente non raggiungibile quando si utilizza la console di Gestione pacchetti NuGet


153

Stiamo spostando la gestione dei nostri pacchetti dall'aggiornamento manuale dei file a NuGet. Sto cercando di installare versioni precedenti di pacchetti per abbinare quella che abbiamo già nel controllo del codice sorgente. Non c'è modo di farlo dall'interfaccia utente, quindi uso la riga di comando per ottenere la versione corretta.

Per qualche motivo, Install-Packagecontinua a dirmi che la galleria Nuget è irraggiungibile.

La fonte su nuget.org [ https://www.nuget.org/api/v2/] è irraggiungibile. Ripristino della cache locale di NuGet

Questo succede solo in una delle nostre soluzioni. Se creo una nuova soluzione o ne utilizzo un'altra nello stesso repository, i pacchetti verranno installati come previsto. Posso persino installare i pacchetti in una soluzione fittizia per riempire la cache locale e quindi installarli correttamente nella soluzione difettosa. Ho provato a Invoke-WebRequesturl dalla console NuGet e ottengo un HTTP 200.

Cosa può causare questo? Esiste un modo per sovrascrivere le origini del pacchetto in base alla soluzione / progetto?


3
Sto riscontrando lo stesso problema. Ho installato VS 2013 Update 2 ieri, forse questo è un nuovo bug ...? A proposito, posso installare qualsiasi pacchetto attraverso la finestra di dialogo "Gestisci pacchetti NuGet" senza problemi, questo problema si verifica solo sulla Console Gestione pacchetti.
rsenna,

2
Ho lo stesso problema. Funziona sempre nella finestra di dialogo Gestisci pacchetti - non funziona mai nella console di Gestione pacchetti.
David Tansey,

10
Il riavvio di Visual Studio ha risolto questo problema per me ಠ_ಠ
Chris Marisic,

Risposte:


338

Anche se la mia origine pacchetto era impostata su nuget.org nella console di Package Manager, l'aggiunta esplicita -Source nuget.orgdell'argomento ha risolto questo problema per me.

Quindi un esempio di utilizzo sarebbe:

Install-Package Akka.net -Source nuget.org

Akka.net è il pacchetto che si desidera installare, è solo un esempio qui.


1
Ho riavviato il mio PC e Visual Studio. ma .. l'aggiunta di -Sorgente nuget.org ha effettivamente fatto il trucco per la mia nuova istanza .vbproj all'interno del mio multi-progetto esistente .sln
bkwdesign

Dove aggiungere questo argomento e come? Potete per favore dare maggiori informazioni.
Radenko Zec,

Ha funzionato anche per me (proprio ora, in realtà!). Stavo cercando di installare una versione precedente di jQuery, ma continuava a sollevare l'errore: "La fonte su nuget.org [ nuget.org/api/v2/] ". Non so come risolverlo però.
Loudenvier,

grazie, ho fatto così:Install-Package jQuery.UI.Combined -Source nuget.org
shaijut,

7
Hai idea di come funzioni? Sono solo curioso perché questo non ha alcun senso per me anche se funziona. Quindi l'errore dice che la fonte su nuget.org [ nuget.org/api/v2/] è irraggiungibile e quindi specifico la stessa fonte -Source nuget.orge funziona?
Vladimirs,


6

Non sono sicuro di cosa possa causare il tuo problema, ma esiste davvero un modo per sovrascrivere le origini dei pacchetti in base alla soluzione, ma solo se hai abilitato NuGet Package Restore sulla soluzione fornita.

Una volta abilitata una soluzione NuGet Package Restore, una cartella denominata ".nuget" viene aggiunta alla soluzione. Sotto questo sarà un file chiamato "NuGet.targets" che ha un ItemGroup la cui condizione è "'$ (PackageSources)' == ''" come quello che vedrai nell'immagine allegata.

Se ItemGroup è vuoto (o completamente commentato, come nell'illustrazione), la soluzione utilizzerà un file specifico che dovrebbe essere uguale alle fonti elencate in STRUMENTI >> OPZIONI. Ma se si decommenta o si aggiungono elementi PackageSource a quel gruppo di articoli, la soluzione cercherà le origini dei pacchetti elencate e SOLO quelle elencate.

Contenuto del file Nuget.targets


2
Le origini dei pacchetti definite nel file NuGet.targets influiscono solo su quelle utilizzate durante la compilazione durante il ripristino di un pacchetto. Le origini pacchetto nel file NuGet.config nella directory .nuget influiranno sulle origini pacchetto disponibili per un progetto in Visual Studio.
Matt Ward,

Ho il ripristino del pacchetto abilitato per questa soluzione. ItemGroup è configurato esattamente come nel tuo screenshot che presumo sia l'impostazione predefinita, quindi non credo che questo sia il problema. Tuttavia, il ripristino del pacchetto è stato abilitato molto tempo fa e il file di destinazione è cambiato da allora. Ho provato ad aggiornare quei file all'ultima versione eliminandoli e riattivando il ripristino del pacchetto e sembra che abbia risolto il problema.
Etienne Maheu,

O no. Inizialmente ha funzionato, ma dopo aver ripristinato i pacchetti per la soluzione e aver riavviato Visual Studio, il problema è tornato.
Etienne Maheu,

Alcune domande di chiarimento: 1) Avete le versioni appropriate a cui si fa riferimento in pacchetti.config? 2) Hai confermato che la versione che stai cercando esiste ancora sul server NuGet ? 3) Hai pulito la soluzione e poi ricostruita dopo aver completato 1) e 2)?
Omnidisciplinarista,

1
Se è una consolazione, ho questo problema ma solo sul mio PC di lavoro e succede con la maggior parte dei progetti. La cosa strana è che è intermittente che mi fa impazzire!
Matt,

6

È possibile modificare l'origine NuGet anche dall'interfaccia utente. Basta cambiare l'origine NuGet alla versione precedente e dovrebbe funzionare bene.

inserisci qui la descrizione dell'immagine

Sembra che ci siano ancora pochi bug in VS 2015 relativi a api.nuget.org (v3).


2

Nella mia console di Package Manager non ho potuto vedere alcuna fonte

Andare a: Strumenti -> Opzioni -> Nuget Package Manager -> Fonti pacchetto

Ho trovato le fonti. Deselezionandoli e controllandoli nuovamente, riapparvero nella mia Console Gestione pacchetti


2

Ho dovuto fornire il comune con l'URL completo come Install-Package MySql.Data.Entity -Version 6.9.8 -Source http://www.nuget.org/api/v2


1

Nel mio caso la causa era che il pacchetto aveva un accordo. Tramite l'interfaccia utente - finestra di dialogo "Gestisci pacchetti NuGet" hai la possibilità di accettare e continuare.

La console di Package Manager in VS 2013 sembra avere un problema con questo. Come altri hanno già detto, il riavvio di VS 2013 potrebbe risolverlo per la console.


1

Questo ha funzionato per me in VS 2015 prof: Strumenti -> Opzioni -> Nuget Package Manager -> Fonti dei pacchetti

  1. Premi il pulsante Aggiungi
  2. Modifica in etichetta nome: nuget.org
  3. Modifica nell'etichetta sorgente: https://www.nuget.org/api/v2/
  4. premere OK

Spero che sia d'aiuto ;)


Per VS 2015 dovresti usare la v3 della loro lista ... non la v2! Tratto dalla loro homepage NuGet feed v3 (VS 2015 / NuGet v3.x): api.nuget.org/v3/index.json NuGet feed v2 (VS 2013 e precedenti / NuGet 2.x): nuget.org/api/v2
Paul Zahra,

0

Ho avuto lo stesso problema con lo stesso messaggio. Ma la ragione del mio problema è stata la perdita della connessione a TFS. Il mio server TFS era ospitato su un'altra rete e ho usato VPN per accedervi. Quando ho provato a installare il pacchetto senza stabilire una connessione a TFS (VPN disattivata) ho avuto lo stesso problema.

Essere consapevoli di questo comportamento TFS.


0

Succede perché lavori in modalità offline, quando riconnetti la rete dovrai disconnetterti e riconnetterti. Il gestore pacchetti verrà reinizializzato senza problemi.


0

Ho affrontato questo problema VS2013 e ho perso 3 ore di tempo.

Non sono sicuro di quale sia stata la causa del problema. Ma nessuna delle soluzioni di cui sopra ha funzionato per me.

La reinstallazione della console Nuget Package Manager ha funzionato per me.

Strumenti -> Estensioni e aggiornamenti -> In All Cerca Nuget Package Manager per Visual Studio e premi disinstalla.

Vai su https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013 e scarica l'estensione.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.