Первичная ссылка не может быть решена, потому что она была построена против более высокой версии платформы .NET, чем целевая рамочная структура
Я пытаюсь создать проект, который ссылается на сторонний SlingshotClient.dll. Проект прекрасно работает на других рабочих станциях разработчиков. Однако, я получаю ошибку ниже. Одно из различий, которое я мог себе представить, вносит свой вклад в мою проблему: у меня также есть VS 2012 и .NET Frameworks 4.5, установленные на моей машине. Я считаю, что другие разработчики, которые могут построить это успешно, не имеют установленных.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): предупреждение MSB3274: Основная ссылка "SlingshotClient, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = bb5a8745472e181a, processorArchitecture = MSIL" не удалось решить, потому что оно было построено в рамках платформы .NETFramework, Version = v4.5. Это более высокая версия
n, чем текущая целевая среда ".NETFramework, Version = v4.0".
Ошибка, похоже, говорит о том, что наш проект нацелен на версию 4.0 (это правильно), но ссылка на SlingshotClient.dll была построена с таргетингом версии 4.5. Когда я смотрю на SlingshotClient.dll в дизассемблере, мне кажется, что сборка была построена с таргетингом на фреймворк версии 4.0
![h]()
Ответы
Ответ 1
По-видимому, если у вас установлен только .NET Frameworks 4.0, вы можете добавить в качестве ссылки сборку .NET, которая ориентирована на 4.5 в проект, ориентированный на .NET 4.0. Это будет компилироваться и запускаться без ошибок.
Как только вы установите .NET Framework 4.5, компиляция завершится с ошибкой. Решение нацелено на ваш проект для .NET Framework 4.5 или получить версию ссылочной сборки, предназначенную для .NET 4.0.
.NET 4.5 - это замена на 4.0. 4.0 ничего не знает о 4.5, и я предполагаю, что он просто смотрит на первую цифру номера версии, которая для 4.0 или 4.5 одинакова, поэтому разрешено компилировать. Как только вы установите 4.5, ваши проекты 4.0 скомпилированы с использованием 4.5 Framework, и теперь он знает о 4.5 и жалуется.