2016-08-01 3 views
11

Я пытаюсь установить serilog, и я получаю ошибку'Serilog' уже имеет зависимость, определенную для 'Microsoft.CSharp'

PM> Install-Package Serilog
Install-Package: 'Serilog' уже имеет зависимость
, определенную для «Microsoft.CSharp». В строке: 1 полукокса: 1
+ Install-Package Serilog
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId: NuGetCmdletUnhandledException, NuGet.PowerShell.Commands.InstallPackageCommand

Microsoft.CSharp уже упоминается в моем проекте

+8

Обновление расширение NuGet в Visual Studio –

+1

Спасибо, что работали – LP13

+0

Кажется, требуется для пакетов, которые добавили совместимость с .NET Core. Не знаю, почему. –

ответ

8

Как @Tieson T. сказал, Update «NuGet менеджер пакетов для Визуальное Studio "из окна Visual Studio> Инструменты> Расширение s и обновления> вкладка «Обновления». Выберите плагин Nuget и обновите его. Затем перезапустите визуальную студию после завершения установки. Я попробовал (Windows 8.1 64bit & Visual Studio 2013 Ultimate), и он работает.

+0

Примечание для себя: не забудьте войти в TeamCity и сделать то же самое: https://confluence.jetbrains.com/display/TCD9/NuGet –

0

Чтобы добавить к этому материалу. У меня была аналогичная проблема, но проблема была связана с тем, что наш сервер сборки был основан на TFS 2012 и использует старую версию MSBuild (которую мы не можем обновить в ближайшем будущем). Все построено и работает нормально локально, но когда сервер сборки попытался запустить, мы получили ту же ошибку.

Обходной путь, который я нашел, заключался в том, чтобы войти в папку пакетов решения, найти пакет, имеющий проблему (в моем случае Serilog.2.3.0 и связанные пакеты Sink, которые я установил). Откройте папку «lib», и вы увидите некоторые папки, связанные с различными файлами .NET. Удалите папки netstandard, соответствующие версиям .Net Core.

Недостатком этого является то, что вы должны проверить папки, которые вы так изменяете, чтобы MSBuild не пытался их восстановить.

0

Пожалуйста, сделайте 2 шага ниже, это работает для меня или Teamcity/Jenkins

  1. Если вы до сих пор используют NuGet CommandLine 2.8, пожалуйста, попробуйте обновить до 3.5.
  2. Если вы используете частный NuGet сервер, пожалуйста, обновите Serilog.2.3.0.nupkg с шагами ниже:

    2.1 Обновление NuGet Spec Файл: Удалить ... .. .

    2,2 Удалить папку LIB/netstandard1.0 и Lib/netstandard1.0

    2,3 Затем перераспределить Serilog.2.3.0.nupkg к вашей приватной NuGet Сервер

+0

Удалить группу для targetFramework = ". NETStandard1.0" и targetFramework = ". NETStandard1. 3 "для обновления Serilog.nuspec –

Смежные вопросы