2016-08-01 19 views
11

Ich versuche serilog zu installieren und ich bin immer Fehler'Serilog' hat bereits eine Abhängigkeit für 'Microsoft.CSharp' definiert

PM> Install-Package Serilog
Install-Paket: 'Serilog' hat bereits eine
Abhängigkeit definiert für 'Microsoft.CSharp'. Bei Zeile: 1 Zeichen: 1
+ Install-Package Serilog
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId: NuGetCmdletUnhandledException, NuGet.PowerShell.Commands.InstallPackageCommand

Microsoft.CSharp ist bereits in meinem Projekt verwiesen

+8

Aktualisieren Sie die NuGet Erweiterung in Visual Studio –

+1

Dank, das funktioniert – LP13

+0

scheint für Pakete erforderlich, die Kompatibilität mit .NET-Core hinzugefügt haben. Nicht sicher warum. –

Antwort

8

Wie @Tieson T. sagte Update „Nuget Package Manager für Visual Studio "von Visual Studio Window> Extras> Erweiterung s und Updates> Klicken Sie auf die Registerkarte Updates. Wählen Sie das Nuget-Plugin und aktualisieren Sie es. Starten Sie das Visual Studio nach der Installation neu. Ich habe versucht (Windows 8.1 64bit & Visual Studio 2013 Ultimate) und es funktioniert.

+0

Hinweis zu sich selbst: Denken Sie daran, in TeamCity zu gehen und dasselbe zu tun: https://confluence.jetbrains.com/display/TCD9/NuGet –

0

Hinzufügen zu diesem. Ich hatte ein ähnliches Problem, aber das Problem lag daran, dass unser Build-Server auf TFS 2012 basiert und eine alte Version von MSBuild verwendet (die wir in naher Zukunft nicht aktualisieren können). Alles wurde lokal erstellt und ausgeführt, aber als der Build-Server versuchte, ausgeführt zu werden, erhielten wir den gleichen Fehler.

Die Problemumgehung, die ich fand, war, in den Paketordner der Lösung zu gehen, das Paket mit dem Problem zu finden (in meinem Fall Serilog.2.3.0 und die zugehörigen Sink-Pakete, die ich installiert hatte). Öffnen Sie den Ordner "lib" und Sie sollten einige Ordner sehen, die den verschiedenen .Net-Frameworks zugeordnet sind. Löschen Sie die Netzstandardordner, die den .Net Core-Versionen entsprechen.

Der Nachteil ist, dass Sie die Ordner, die Sie so ändern, einchecken müssen, damit MSBuild nicht versucht, sie wiederherzustellen.

0

Bitte die 2 Schritte unten, funktioniert es für mich oder Teamcity/jenkins

  1. Wenn Sie immer noch die Nuget Commandline 2.8 verwenden, versuchen Sie bitte auf 3,5 zu aktualisieren.
  2. Wenn Sie den privaten Nuget Server verwenden, aktualisieren Sie bitte die Serilog.2.3.0.nupkg mit den folgenden Schritten:

    2.1-Update Nuget Spec Datei: entfernen ... .. .

    2.2 den Ordner lib/netstandard1.0 entfernen und lib/netstandard1.0

    2.3 Dann die Serilog.2.3.0.nupkg zu Ihrem privaten umschichten Nuget Server

+0

Entfernen Sie die Gruppe für targetFramework = ". NETStandard1.0" und targetFramework = ". NETStandard1. 3 "für die Aktualisierung der Serilog.nuspec –