MSB3258: mscorlib 4.0.0.0 и 2.0.0.0

Итак, я пытаюсь скомпилировать проект на VS 2017, и я получаю это:

 warning MSB3258: The primary reference "someLib.dll" could not be resolved because it has an indirect dependency on the .NET Framework assembly "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which has a higher version "4.0.0.0" than the version "2.0.0.0" in the current target framework.

После этого у меня возникают ошибки, связанные с этой dll (например, тип или пространство имен не находятся в пространстве имен), но когда я дважды щелкаю по ошибке, она исчезает вместе с красной волнистой линией в коде, намекая на то, что это не актуальная проблема.

Ничто из того, что я пробовал, не работает: все проекты на 3.5, я удалил и заново добавил все свои ссылки, и это не происходит ни на одном другом компьютере, кроме моего. Я также попытался удалить mscorlib из GAC (как бы глупо это ни было), но, конечно, это мне не дало.

Я увидел кое-что, что может иметь отношение: https://developercommunity.visualstudio.com/content/problem/230636/assemblydependency-now-misidentifying-indirect-dep.html

Кроме удаления и переустановки VS, не уверен, что делать. Если у кого-нибудь есть идея, я буду рад ее попробовать.

2 ответа

Решение

Это была странная ссылка на версию Interop.Shell32.dll, называемую просто "Shell32.dll". Не знаю, откуда это.

Если у кого-то еще есть такая проблема: удалите каждую зависимость по одной за раз и скомпилируйте. Даже Microsoft.

Ответ из комментариев:

Проверьте библиотеки someLib.dll Рекомендации. Может быть, они содержат ссылку на mscorlib.dll 4.0.0.0,

Подсказка: добавьте официальные библиотеки Microsoft через Via Add Reference > "Вкладка Сборки" (слева, не знаете, правильно ли названа вкладка). Не добавляйте их, просматривая их.

Другие вопросы по тегам