web-dev-qa-db-fra.com

Installation de Nuget.exe - Microsoft.CSharp a déjà une dépendance pour System.Dynamic.Runtime

Nous installons certains packages via un script de pré-génération PowerShell dans notre version CI. Récemment, nous avons reçu des notifications par courrier électronique partiellement réussies contenant les informations suivantes:

'Microsoft.CSharp' a déjà une dépendance définie pour 'System.Dynamic.Runtime'

Voici la commande du script PowerShell qui génère les informations:

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

J'aimerais pouvoir gérer/ignorer ce message afin que des notifications de construction entièrement réussies soient reçues.

Cela ne semble pas causer de problèmes sinon.

Quelqu'un a-t-il des paramètres de ligne de commande nuget.exe susceptibles de contourner une telle erreur?

14
mawa316

Le message d'erreur already has a dependency defined for indique généralement que la version de NuGet que vous utilisez est trop ancienne. Donc, vous devriez regarder pour le mettre à jour.

Cette erreur particulière peut survenir lorsque les packages NuGet utilisés utilisent une dépendance de groupe avec un framework cible inconnu de la version de NuGet que vous utilisez.

18
Matt Ward

Dans mon cas, je reçois un message lorsque j'installe un paquet Nuget:

'PackageA' a déjà une dépendance définie pour 'PackageB'

.

Et je cherche PackageB dans le gestionnaire de paquets Nuget en ligne, puis je clique sur le bouton Installer pour l'installer à nouveau.

Le paquet nécessite la version du client NuGet «2.12» ou supérieure, mais la version actuelle de NuGet est «2.7.40911.287».

et je fais comme cette solution Nuget version pas correcte?

après avoir mis à niveau la version de Nuget Package Manager, je peux installer PackageB, puis PackageA.

1
yu yang Jian

J'ai eu un problème similaire en utilisant NuGet pour charger le fichier Google.Apis.Sheets.v4.

La mise à niveau de mon VS.NET 2013 de NuGet 2.8.60723.765 à 2.12.0.817 a résolu le problème.

Pour voir votre numéro de version de NuGet, accédez à l'invite de la console du gestionnaire de packages (PM>) avec Outils/NuGet Package Manager/Console du gestionnaire de packages. Ensuite, entrez "$ Host" au PM> Invite.

PM> $Host

Name             : Package Manager Host
Version          : 2.12.0.817
InstanceId       : 38c7734c-3169-4933-b934-23dab18055f2
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : en-US
CurrentUICulture : en-US
PrivateData      : NuGetConsole.Host.PowerShell.Implementation.NuGetPSHost+Commander
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace

PM> 

Pour mettre à jour NuGet, sélectionnez Outils/Extensions et mises à jour .... Ensuite, sélectionnez "Updates" puis cliquez sur le bouton "Update" du "NuGet Package Manager". 

 enter image description here

Une fois la mise à jour terminée, redémarrez Visual Studio et vérifiez à nouveau le numéro de version de NuGet.

0
JohnH