2016-08-01 14 views
11

Próbuję zainstalować serilog i dostaję error'Serilog' ma już zależność zdefiniowane dla 'Microsoft.CSharp'

PM> Instaluj-Pakiet Serilog
Install-Package: 'Serilog' ma już zależność
zdefiniowaną dla "Microsoft.CSharp". Na line: 1 char: 1
+ Install-Package Serilog
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: NotSpecified: (:) [Install-Package] InvalidOperationException
+ FullyQualifiedErrorId: NuGetCmdletUnhandledException, NuGet.PowerShell.Commands.InstallPackageCommand

Microsoft.CSharp jest już wymieniony w moim projekcie

+8

Aktualizacja rozszerzenie Nuget w Visual Studio –

+1

Dzięki który pracował – LP13

+0

wydaje się być konieczne dla pakietów, które zostały dodane kompatybilność z .NET Core. Nie pewny dlaczego. –

Odpowiedz

8

Jako @Tieson T. powiedział Update „Nuget Package Manager for Visual Studio "z okna programu Visual Studio> Narzędzia> Rozszerzenie s i Aktualizacje> kliknij kartę Aktualizacje. Wybierz wtyczkę Nuget i aktualizuj. Następnie uruchom ponownie studio graficzne po zakończeniu instalacji. Próbowałem (Windows 8.1 64bit & Visual Studio 2013 Ultimate) i to działa.

+0

Uwaga dla siebie: pamiętaj, aby wejść do TeamCity i zrobić to samo: https://confluence.jetbrains.com/display/TCD9/NuGet –

0

Aby dodać do tego. Miałem podobny problem, ale problem był spowodowany tym, że nasz serwer budowania był oparty na TFS 2012 i korzystał ze starej wersji MSBuild (której nie możemy zaktualizować w najbliższym czasie). Wszystko zbudowane i uruchomione dobrze lokalnie, ale gdy serwer kompilacji próbował uruchomić, dostaliśmy ten sam błąd.

Obejście problemu polegało na przejściu do folderu pakietów rozwiązania, znalezieniu pakietu, w którym wystąpił problem (w moim przypadku Serilog.2.3.0 i powiązanych pakietach Sink, które zainstalowałem). Otwórz folder "lib" i powinieneś zobaczyć kilka folderów powiązanych z różnymi frameworkami .Net. Usuń foldery sieciowe, które odpowiadają wersjom .Net Core.

Wadą tego jest to, że musisz sprawdzić foldery, które modyfikujesz tak, aby MSBuild nie próbował ich przywracać.

0

proszę wykonać 2 kroki poniżej, to działa na mnie lub TeamCity/Jenkins

  1. Jeśli nadal używając Nuget CommandLine 2.8, spróbuj uaktualnić do 3,5.
  2. Jeśli używasz prywatną Nuget Server, proszę zaktualizować Serilog.2.3.0.nupkg z czynności:

    2.1 Aktualizacja Nuget Spec Plik: Usuń ... .. .

    2,2 usunąć folder lib/netstandard1.0 i lib/netstandard1.0

    2,3 Następnie przesunięcie się Serilog.2.3.0.nupkg do prywatnego Nuget Server

+0

Usuń grupę dla targetFramework = ".NETStandard1.0" i targetFramework = ". NETStandard1. 3 "do aktualizacji Serilog.nuspec –

Powiązane problemy