Импортированный проект «C: \ Microsoft.CSharp.targets» не найден.

Я получил эту ошибку сегодня при попытке открыть Visual Studio 2008 проект в Visual Studio 2005:

Импортированный проект «C: \ Microsoft.CSharp.targets» не найден.

Ответов (17)

Решение

Откройте файл csproj в блокноте (или блокноте ++). Найдите строку:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

и измените его на

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

В случае ошибок с Microsoft.WebApplications.targets вы можете:

  1. Установите Visual Studio 2010 (или ту же версию, что и на машине разработки) на свой сервер TFS.
  2. Скопируйте « Microsoft.WebApplication.targets» из файла машины разработки на машину сборки TFS.

Вот пост.

Эта ошибка также может возникать при открытии проекта Silverlight, созданного в SL 4, когда у вас установлен SL 5.

Вот пример сообщения об ошибке: Импортированный проект «C: \ Program Files (x86) \ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.CSharp.targets» не найден.

Обратите внимание на версию 4.0.

Для решения отредактируйте проект и найдите:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

И поменяйте его на v5.0.

Затем перезагрузите проект, и он откроется (если у вас не установлен SL 5).

Раньше в файле csproj была такая строка:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

После удаления этого файла все работает нормально.

Если вы столкнулись с ошибкой, которая гласит Microsoft.CSharp.Core.targets not found, вот шаги, которые я предпринял, чтобы исправить свою:

  1. Откройте любую папку с предыдущими рабочими проектами и перейдите по ссылке, указанной в сообщении об ошибке, то есть Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/найдите Microsoft.CSharp.Core.targetsфайл.

  2. Скопируйте этот файл и поместите его в нерабочий проект tools folder(то есть перейдите в папку инструментов в нерабочем проекте, как показано выше)

  3. Теперь закройте свой проект (если он был открыт) и снова откройте его.

Теперь он должен работать.

Кроме того, чтобы убедиться, что в вашем теперь открытом проекте Visual Studio все работает правильно, перейдите к Tools > NuGetPackage Manager > Manage NuGet Packages For Solution . Здесь вы можете найти ошибку, которая говорит, что CodeAnalysis.dll используется другим приложением.

Снова зайдите в tools folder, найдите указанный файл и удалите его. Вернись к Manage NuGet Packages For Solution . Вы найдете ссылку, по которой вас попросят перезагрузить, щелкните по ней, и все будет переустановлено.

Теперь ваш проект должен работать правильно.

Это глобальное решение, не зависящее от конкретного пакета или корзины.

В моем случае я удалил папку Packages из корневого каталога.

Возможно, это происходит из-за того, что ваши пакеты есть, но компилятор не находит ссылки на них. поэтому сначала удалите старые пакеты и добавьте новые.

Шаги по добавлению новых пакетов

  • Сначала удалите папку пакетов ( она будет рядом или на один шаг выше текущей папки проекта ).
  • Затем перезапустите проект или решение.
  • Теперь перестройте файл решения.
  • Проект получит новые ссылки от менеджера пакетов nuGet. И ваш вопрос будет решен.

Это неправильное решение, но я разместил его здесь, потому что столкнулся с той же проблемой.

В моем случае я даже не смог открыть свое решение в визуальной студии и не получил никакой помощи с другими ответами SO.

В моем случае я открыл свой файл .csproj в блокноте и удалил следующие три строки. Сработало как шарм:

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />

Я удалил папку obj, а затем проект загрузился, как ожидалось.

Я столкнулся с этой проблемой при выполнении Ansible playbook, поэтому хочу добавить сюда свои 2 цента. Я заметил предупреждающее сообщение об отсутствии Visual Studio 14. Visual Studio версии 14 была выпущена в 2015 году, и решением моей проблемы была установка Visual Studio 2015 Professional на хост-машину моего агента Azure DevOps.

После попытки восстановления, закрытия VS, удаления неудачного пакета, повторного открытия, попытки восстановления, я несколько раз просто удалял все в пакетах, и когда я выполнял восстановление, он работал отлично.

Для меня проблема заключалась в пути .. При клонировании проекта с пробелом в имени. Папка проекта была названа "Sample%20-%205" вместо того, что должно быть: "Sample - 5"

Открытие проекта прошло нормально, но строительство не удалось с

Не удалось найти файл: /packages/Microsoft.Net.Compilers.1.3.2/tools/Microsoft.CSharp.Core.targets

Для меня проблема заключалась в том, что путь к проекту содержал% 20 символов, потому что git добавил их вместо пробелов при клонировании репозитория. Другая проблема может заключаться в слишком длинном пути к пакету.

В моем случае мне не удалось загрузить в свое решение один из 5 проектов .

Это помогло закрыть Visual Studio, и мне пришлось удалить Microsoft.Net.Compilers.1.3.2 папку nuget в packages папке.

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

На всякий случай закройте все экземпляры VS перед удалением папки.

Иногда проблема может заключаться в жестко запрограммированной версии VS в файле .csproj. Если у вас в csproj есть что-то вроде этого:

[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"

Вы должны проверить правильность номера (причина неправильного может заключаться в том, что проект был создан с другой версией Visual Studio). Если это не так, замените его текущей версией инструментов сборки ИЛИ используйте переменную VS:

[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"

Эта ссылка в MSDN также очень помогает понять причину, по которой она не работает. $ (MSBuildToolsPath) - это путь к Microsoft.Build.Engine v3.5 (автоматически вставляется в файл проекта при создании в VS2008). Если вы пытаетесь собрать свой проект для .Net 2.0, убедитесь, что вы изменили этот путь на $ (MSBuildBinPath), который является путем к Microsoft.Build.Engine v2.0.

хорошо, так что, если он скажет это: между знаками gt / lt

Импортировать Project = "$ (MSBuildExtensionsPath) \ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets" /

как исправить ошибку цели?

Я также обнаружил эту строку импорта в демонстрационном проекте (в частности, «Создайте свой собственный MVVM Framework» Роба Эйзенбурга).

Если вы замените этот импорт на тот, который предлагается lomaxx VS2010 RTM, вам потребуется установить его .

Получил такое после переустановки винды. Visual Studio была установлена, и я мог видеть тип проекта Silverlight в окне «Новый проект», но открыть его не удалось. Решение было простым: мне пришлось установить среду выполнения Silverlight Developer и / или инструменты Microsoft Silverlight 4 для Visual Studio. Это может показаться глупым, но я пропустил это, потому что думал, что это должно работать, поскольку был доступен тип проекта Silverlight.