web-dev-qa-db-fra.com

'Serilog' a déjà une dépendance définie pour 'Microsoft.CSharp'

J'essaie d'installer serilog et j'obtiens une erreur

PM> Install-Package Serilog
Install-Package: 'Serilog' a déjà une
dépendance définie pour 'Microsoft.CSharp'. À la ligne: 1 caractère: 1
+ Install-Package Serilog
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId: NuGetCmdletUnhandledException, NuGet.PowerShell.Commands.InstallPackageCommand

Microsoft.CSharp est déjà référencé dans mon projet

11
LP13

Comme @ Tieson T. said, mettez à jour le "Gestionnaire de packages de Nuget pour Visual Studio" à partir de Visual Studio> Outils> Extensions et mises à jour> cliquez sur l'onglet Mises à jour. Sélectionnez le plugin Nuget et mettez-le à jour. Puis redémarrez Visual Studio une fois l’installation terminée. J'ai essayé (Windows 8.1 64bit et Visual Studio 2013 Ultimate) et cela fonctionne.

8
Lost_In_Library

Pour ajouter à cela. J'avais un problème similaire, mais le problème était dû au fait que notre serveur de génération était basé sur TFS 2012 et utilisait une ancienne version de MSBuild (que nous ne pouvons pas mettre à jour à court terme). Tout a été construit et a fonctionné correctement localement, mais lorsque le serveur de build a essayé de s'exécuter, nous avons eu la même erreur.

La solution que j'ai trouvée consistait à aller dans le dossier packages de la solution, à trouver le package à l'origine du problème (dans mon cas, Serilog.2.3.0 et les packages Sink associés que j'avais installés). Ouvrez le dossier "lib" et vous devriez voir quelques dossiers associés aux différents frameworks .Net. Supprimez les dossiers netstandard correspondant aux versions .Net Core.

L'inconvénient est que vous devez archiver les dossiers que vous modifiez de cette manière pour que MSBuild n'essaye pas de les restaurer.

1
Harrison

S'il vous plaît faire les 2 étapes ci-dessous, cela fonctionne pour moi ou teamcity/jenkins

  1. Si vous utilisez toujours Nuget CommandLine 2.8, essayez de passer à la version 3.5.
  2. Si vous utilisez le serveur Nuget privé, veuillez mettre à jour le fichier Serilog.2.3.0.nupkg en procédant comme suit:

    2.1 Mettre à jour le fichier de spécification de nuget: Supprimer ... ...

    2.2 Supprimer le dossier lib/netstandard1.0 et lib/netstandard1.0

    2.3 Ensuite, redéployez Serilog.2.3.0.nupkg sur votre serveur Nuget privé.

0
Jason Leng