Импортированный проект "C: \ Microsoft.CSharp.targets" не найден - PullRequest
111 голосов
/ 08 августа 2008

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

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

Ответы [ 16 ]

108 голосов
/ 08 августа 2008

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

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

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

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
48 голосов
/ 22 октября 2016

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

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

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

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

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

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

В моем случае, Я даже не могу открыть свое решение в visual studio и не получил никакой помощи с ответами выше.

15 голосов
/ 18 апреля 2017

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

11 голосов
/ 18 мая 2009

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

9 голосов
/ 23 ноября 2017

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

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

После этого снова откройте свое решение и проект загрузится как положено

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

6 голосов
/ 21 декабря 2012

У меня была следующая строка в файле csproj:

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

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

5 голосов
/ 05 августа 2016

Если вы столкнетесь с ошибкой, которая говорит 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 Project, перейдите на Tools > NuGetPackage Manager > Manage NuGet Packages For Solution. Здесь вы можете обнаружить ошибку, которая говорит, что CodeAnalysis.dll используется другим приложением.

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

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

3 голосов
/ 12 августа 2011

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

2 голосов
/ 15 февраля 2017

В моем случае я открыл свой файл .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')" />
2 голосов
/ 30 августа 2011

Для ошибок с Microsoft.WebApplications.targets вы можете:

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

Вот пост.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...