Visual Studio 2010: не удалось разрешить mscorlib для целевой платформы .NETFramework, версия = v4.0 - PullRequest
42 голосов
/ 31 марта 2011

В настоящее время мы переносим все наши решения с 2005 на 2010 год (верно, мы пропускаем 2008 год!). Мы также изменяем нашу файловую структуру, чтобы сделать ее более понятной (некоторые общие проекты могут быть вложены в конкретные проекты и т. Д. И т. Д.).

Это все означает, что ссылки должны быть изменены! Кроме того, мы также устанавливаем их все .NET 4.0. Для этого мы создали временное решение «GOD», в котором все 117 проектов находятся в одном решении.

Я делаю это с одним сотрудником, и примерно 2 часа назад все шло по плану. Однако мы столкнулись с проблемой одного из 117 проектов. Этот проект отказывается "отображать" свои ссылки, ресурсы, сервисы и вкладки настроек в свойствах проекта.

Я получаю следующее точное сообщение:

Не удалось разрешить mscorlib для цели фреймворк ».NETFramework, Version = v4.0. Это может произойдет, если целевая структура не установлен или если фреймворк прозвище неправильно отформатирован.

Теперь это раздражает, но становится хуже. Мой коллега, получая то же решение от Subversion, МОЖЕТ реально видеть и изменять ссылки и тому подобное. По сути, в настоящее время проект фактически строится на его машине. Он внес изменения, но я не могу построить этот конкретный проект или просмотреть ссылки.

Что приводит меня к простому выводу, что на моем клиенте должно быть что-то другое, что вызывает проблемы! В Интернете я видел следующие предложения:

  • Установлено несколько версий .NET4.0 (на моем клиенте это не так)
  • .NET v3.5 не устанавливается; v4.0 пытается собрать v3.5 (3.5 установлен на моем клиенте)
  • Ключ регистрации: OnlyUseLatestCLR установлен и все портит! (просканировал мой реестр, этого ключа нигде нет!)

См .: http://connect.microsoft.com/VisualStudio/feedback/details/542789/

Единственное, что я еще не попробовал, что я мог сделать, это восстановить .NET 4.0, но я сильно сомневаюсь, что это проблема, поскольку у нас есть около 100 других проектов, которые я могу отредактировать и построить просто отлично. И C #, и VB.NET.

Ответы [ 20 ]

0 голосов
/ 23 января 2018

Я тоже получил эту ошибку. («Не удалось разрешить mscorlib для целевой платформы« .NetFramework 4.5.1 ». Это может произойти, если целевая среда не установлена ​​или неправильно задан формат моникера».).

Это произошло, когда я изменил каркас с 3.5 на 4.5.1 в проекте VB 2013. Решением было удалить все ссылки в файле .vbproj: все ссылки помечены как «Ссылки» и «Группы ссылок».

Конечно, сразу после этого в проекте появились все другие ошибки.

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

Это привело к тому, что это были некоторые пользовательские ссылки на библиотеки, которые создали эту проблему. Я надеюсь, что это может кому-то помочь. Ура!

Разработчик.

0 голосов
/ 02 февраля 2017

У меня была похожая ошибка в проекте XamarinForms PCL.
Я обнаружил, что ошибка касается ссылки на проект.Я обновил xamarin.forms до последней версии, и по некоторым причинам NuGet не смог удалить все ссылки предыдущей версии из файла проекта (xml).
Итак, я просто удалил следующую строку из файла проекта иэто сработало!

<Error Condition="!Exists('..\..\packages\Xamarin.Forms.2.3.1.114\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.2.3.1.114\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" />

Надеюсь, это кому-нибудь поможет ...

0 голосов
/ 22 июля 2016

Я переносил проект vb.net на VS 2015. У меня тоже была такая же проблема.Проблема не в .Net Framework, так как я смог создать новый проект, нацеленный на конкретные версии Framework, и это удалось.

В моем случае проект ссылался на FPSpreadADO и некоторые другие подобные библиотеки.Он работал нормально, как только я удалил эти ссылки.

0 голосов
/ 12 июля 2016

Я столкнулся с этой проблемой сегодня, и она оказалась вызвана слишком длинными именами файлов в проекте.

Это, в свою очередь, было вызвано некоторыми ссылками на сервисы.Когда сервисная ссылка импортируется или обновляется, Visual Studio генерирует файлы .datasource, где имя файла - это полное имя.В некоторых случаях это означает действительно длинные имена.

Поискивая, я обнаружил подсказки, что эти файлы безопасно удалить.Проверьте this или this out.

Удаление этих файлов .datasource устранило проблему.

0 голосов
/ 01 апреля 2011

Убедитесь, что целевая платформа в свойствах проекта установлена ​​правильно - по умолчанию это «.Net Framework 4.0 Client» - возможно, вам требуется «.Net Framework 4.0»

см. этот поток , который похож на ту же проблему

, вы также можете просмотреть эту статью , которая относится к отладке проблемы с тем же симптомом с помощью отражателя

0 голосов
/ 01 ноября 2018

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

0 голосов
/ 30 сентября 2013

Что случилось со мной, так это то, что все мои ссылки на мой проект были потеряны, поэтому мне пришлось вставить их снова.

0 голосов
/ 15 марта 2013

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

0 голосов
/ 27 февраля 2019

Наткнулся на это сегодня.

Удаленные папки bin и obj.

Открыл Visual Studio, и он неожиданно заработал.

0 голосов
/ 15 февраля 2015

для меня, просто установка Target Framework 4.0 решила мою проблему.Иногда целевые рамки понятны как-то.Это может вызвать проблемы.

...