2016-07-05 67 views
12

Installiamo alcuni pacchetti tramite uno script di pre-build PowerShell nel nostro build CI. Recentemente, stiamo riceviamo notifiche e-mail un successo parziale con le seguenti informazioni fornite:Installazione Nuget.exe - Microsoft.CSharp ha già una dipendenza per System.Dynamic.Runtime

'Microsoft.CSharp' ha già una dipendenza definito per 'System.Dynamic.Runtime'

Ecco la il comando dallo script PowerShell che genera le informazioni:

cd $source\MyNet\MyWeb\MyComp.WebViewer\packages 
&"C:\Program Files\Microsoft Team Foundation Server 14.0\Tools\Nuget.exe" install newtonsoft.json 

mi piacerebbe essere in grado di gestire/ignorare questo messaggio in modo che si ricevono notifiche relative alle build pienamente riuscito.

Non sembra che causi problemi altrimenti.

Qualcuno ha dei parametri della riga di comando nuget.exe che potrebbero ignorare tale errore?

risposta

17

Il messaggio di errore already has a dependency defined for indica in genere che la versione di NuGet in uso è troppo vecchia. Quindi dovresti cercare di aggiornarlo.

Questo errore particolare può verificarsi quando i pacchetti NuGet in uso utilizzano una dipendenza di gruppo con un framework di destinazione che non conosce la versione di NuGet in uso.

+1

Sto provando a determinare l'ultima versione di Nuget.exe. Non riesco a ricordare cosa ho usato per installarlo nella posizione sopra menzionata in precedenza, ma sembra Team Foundation Server Tools. Quando cerco questo, vedo qualcosa che risale al 11/2015. Mi piacerebbe solo avere un nugget.exe aggiornato sul posto per vedere se questo risolve il problema. La versione attualmente disponibile è 2.8.60318.667. – mawa316

+0

[Ha funzionato anche per me] (https://groups.google.com/forum/#!topic/cs-script/-UmNhc0tVLM)! Molte grazie. –

0

Nel mio caso, ricevo un messaggio quando installano alcuni Nuget pacchetto:

'PackageA' ha già una dipendenza definito per 'pacchetto B'

.

E che cerco pacchetto B in Nuget Package Manager on-line, e fare clic sul pulsante install per installarlo nuovamente, poi ha incontrato un problema:

Il pacchetto richiede versione client NuGet '2.12' o al di sopra, ma il la versione corrente di NuGet è "2.7.40911.287".

e lo faccio in quanto questa soluzione Nuget version not correct?

dopo l'aggiornamento della versione di Direttore Nuget pacchetto, posso installare pacchetto B, e quindi posso installare PackageA.