Ссылочный пакет Nuget содержит ошибки при поиске типов систем
У меня есть несколько странных ошибок после использования NuGet для добавления сторонней библиотеки в проект. Проект нацелен на.NET 4.5.2. Ошибки, которые я получаю, жалуются на то, что стандартные типы систем не имеют правильной версии, например
CS0012: тип 'System.Collections.Generic.IEnumerable`1' определен в сборке, на которую нет ссылок. Необходимо добавить ссылку на сборку "System.Runtime, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken=b03f5f7f11d50a3a".
Я очистил папку проекта, удалил папку bin, переустановил пакет NuGet и прочитал ссылку безрезультатно.
Библиотека Remotion.Linq
По данным реестра, на машине установлены следующие версии.NET
v2.0.50727 2.0.50727.4927 SP2
v3.0 3.0.30729.4926 SP2
v3.5 3.5.30729.4926 SP1
v4
Клиент 4.6.01038 Полный 4.6.01038
v4.0
Клиент 4.0.0.0
Кто-нибудь знает, что здесь происходит?
2 ответа
Это оказалось ошибочной ошибкой. Библиотека была построена на.NET 4.5.2, но у меня была установлена .NET 4.5.1. Microsoft объясняет это в статье KB (KB2971005), но вам действительно нужно знать, в чем проблема, чтобы легко найти статью. Я как-то наткнулся на это после долгих поисков.
Решение заключается в установке обновленной версии пакета разработчика Microsoft .NET Framework 4.5.2.
Это говорит о том, что сторонняя библиотека нацелена на 4.0 фреймворка. Вам нужно либо найти более позднюю версию библиотеки, либо в свойствах вашего проекта установить целевую среду на 4.0, а не на 4.5.