14

Ho un ambiente misto in cui alcuni sviluppatori stanno lavorando su Visual Studio 2013 e altri stanno lavorando al 2015. Tutto ha funzionato bene fino a quando non abbiamo aggiornato un pacchetto NuGet di riferimento da Visual Studio 2015.Come utilizzare NuGet 3.0 con Visual Studio 2013?

Ora, quando si tenta di ripristinare il pacchetti Nuget da Visual Studio 2013, vedo il seguente errore:

NuGet Package restore failed for project Foo: The 'System.Linq 4.0.0' package requires NuGet client version '3.0' or above, but the current NuGet version is '2.8.60723.765'..

a quanto pare, non esiste una versione 3.x NuGet per Visual Studio 2013.

c'è una soluzione per continuare a lavorare con Visual Studio 2013 e 2015?

risposta

11

Come ha notato Hans Passant nella sua risposta, non c'è bisogno di NuGet 3.0 su progetti che mirano solo al framework van 4.5 .NET (ed è ciò che Visual Studio 2013 avrebbe dovuto indirizzare nel nostro caso).

Era l'aggiunta di un pacchetto NuGet aggiornato, specificamente System.Collections.Immutable 1.1.37, che ha introdotto una dipendenza .NETPlatform,Version=v5.0, che a sua volta innescato dipendenza accidentale su NuGet 3.0.

Il ritorno alla versione 1.1.36 di quel pacchetto ha risolto il problema.

+1

Ho bisogno di NuGet 3.0 su VS 2013 perché 3. # supporta ContentFiles che 2. # non :( – Phill

+0

+1 Grazie, ho avuto un problema simile con il nuovo versione di Moq, installazione di una versione precedente di Moq senza che la dipendenza funzionasse! Attendo pazientemente che il mio team esegua l'aggiornamento al 2015 ... – EaziLuizi

+0

Questo non ha alcun senso. NuGet 3 apparentemente ha una nuova struttura di origine dei pacchetti, e forse 3 [non gestisce il vecchio bene formale] (https://github.com/NuGet/Home/issues/1909) 2 supporta la nuova struttura? In caso contrario, sembra una ragione sufficiente per l'aggiornamento. – jpmc26

12

Sigh, una squadra che non riesce a prendere una decisione su quali strumenti utilizzare, cosa potrebbe andare storto? Bene questo. E l'altro problema piuttosto sgradevole, quel pacchetto è pensato per progetti che hanno come target CoreCLR e il sapore Win10 delle app universali. Non è possibile creare né creare un progetto di questo tipo su VS2013. Quindi provare a risolvere il problema della versione di Nuget non ti compra nulla.

Ragazzi, avete bisogno di riunirvi e sondare i progetti su cui lavorerete. Se CoreCLR è ciò che tutti vogliono fare e chiedete perché, allora tutti gli devono aggiornare a VS2015 l'aggiornamento.

+0

Hans, grazie per la risposta. Non ero a conoscenza del fatto che abbiamo in qualche modo contrabbandato una dipendenza CoreCLR nel nostro progetto. Questo non è stato del tutto intenzionale, dato che attualmente stiamo costruendo per Win32. Per fornire un futuro percorso alle app universali, la maggior parte del nostro codice è costruita come PCL; Sostengo che questo è probabilmente il problema qui che ha attivato la dipendenza "NuGet 3.0". –

+0

Abbiamo utilizzato System.Collections.Immutable 1.1.36 (per .NET 4.5). Passando alla versione 1.1.37 è stata introdotta la dipendenza da .NET 5.0, che è stato un incidente. –

+0

http://stackoverflow.com/a/32189169/17034 –

Problemi correlati