"Newtonsoft.Json" уже имеет зависимость, определенную для "Microsoft.CSharp",
Я устанавливаю NewtonSoft.Json для анализа Json в приложении .Net. Когда я использую VS 2012, он не может быть установлен через NuGet. Это ошибка, которую я получил:
'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'
Я попытался скопировать DLL и просто использовать ее, похоже, что некоторые зависимости облажались в этой версии (10.0.2).
После нескольких часов исследований, наконец, я обнаружил, что это проблема совместимости VS2012 и Newtonsoft Json 10.0.2.
Ответы
Ответ 1
потому что диспетчер пакетов NuGet (версия 2.8.60318.667) для VS 2012 не поддерживает .NETStandard (используется для последних версий Newtonoft Json Parser, https://github.com/NuGet/Home/issues/3131
Я решил эту проблему, установив более старую версию Newtonsoft Json:
PM> Install-Package Newtonsoft.Json -Version 9.0.1
Более подробная информация на: https://github.com/NuGet/Home/issues/5162.
Ответ 2
Установка/восстановление пакетов NuGet, на которые настроен стандарт .NET, требует NuGet.exe версии 3.4 +.
Из примечаний к выпуску для 3.4: https://docs.microsoft.com/en-us/nuget/release-notes/nuget-3.4
Новые функции
- Поддержка прокси-серверов netstandard и netstandardapp
Эта версия NuGet поставляется с обновлением VS2015 2
NuGet 3.4 был выпущен 30 марта 2016 года как часть обновления Visual Studio 2015 Update 2 и Visual Studio 15 Preview Release
Ответ 3
У меня была такая же проблема с использованием VS2015 и создание пакета NuGet с зависимостью от Newtonsoft.Json version = 10.0.3. Я использовал подход, предложенный Vin.X в его ответе, как о работе.
После установки Newtonsoft.Json version = 9.0.1 в ваш проект добавьте следующее описание в ваш .nuspec файл.
<dependencies>
<dependency id="Newtonsoft.Json" version="10.0.3" />
</dependencies>
Приложение, которое потребляет ваш пакет, будет устанавливать версию Newtonsoft.Json = 10.0.3 вместе с вашим пакетом как зависимость от вашего проекта.
Ответ 4
Попробуйте удалить существующую версию пакета из каталога пакета решения, а затем попробуйте следующую команду. Это сработало для меня.
PM> Install-Package Newtonsoft.Json -Version 9.0.1
Ответ 5
просто используя Try {} catch() {}
try{
int offset = 0;
while (true)
{
Telegram.Bot.Types.Update[] updates = bot.GetUpdates(offset).Result;
}
}
catch (Exception ef)
{
Debug.WriteLine("Error");
}
Ответ 6
Попробуйте установить Newtonsoft MsgPack, он установит DLL Newtonsoft.json в ваш проект.