Я получил эту ошибку сегодня при попытке открыть Visual Studio 2008 проект в Visual Studio 2005:
Импортированный проект "C: \ Microsoft.CSharp.targets" не найден.
Откройте файл csproj в блокноте (или notepad ++). Найдите строку:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
и изменить его на
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
Эта ссылка на MSDN также очень помогает понять причину, по которой она не работает. $ (MSBuildToolsPath) - это путь к Microsoft.Build.Engine v3.5 (вставляется автоматически в файл проекта при создании в VS2008). Если вы пытаетесь построить свой проект для .Net 2.0, убедитесь, что вы изменили этот путь на $ (MSBuildBinPath), который является путем к Microsoft.Build.Engine v2.0.
хорошо, так что, если он скажет это: между знаками GT / LT
Импортировать проект = "$ (MSBuildExtensionsPath) \ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets" /
как исправить ошибку цели?
Я также обнаружил эту строку импорта в демонстрационном проекте (в частности, «Создайте свой собственный MVVM Framework» Роба Айзенбурга).
Если вы замените этот импорт предложенным lomaxx VS2010, RTM сообщит, что вам нужно установить его .
Я получил это после переустановки Windows. Visual Studio была установлена, и я мог видеть тип проекта Silverlight в окне «Новый проект», но его открытие не сработало. Решение было простым: мне пришлось установить среду выполнения Silverlight Developer и / или инструменты Microsoft Silverlight 4 для Visual Studio. Это может показаться глупым, но я упустил это из виду, потому что я думал, что это должно работать, так как тип проекта Silverlight был доступен.
Для ошибок с Microsoft.WebApplications.targets
, вы можете:
- Установите Visual Studio 2010 (или ту же версию, что и на компьютере разработчика) на сервере TFS.
- Скопируйте «
Microsoft.WebApplication.targets
» из файла машины разработки на машину сборки TFS.
Вот этот пост.
У меня была следующая строка в файле csproj:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
После удаления этого файла все работает нормально.
Эта ошибка также может возникать при открытии проекта Silverlight, встроенного в SL 4, когда у вас установлен SL 5.
Вот пример сообщения об ошибке: Импортированный проект "C: \ Program Files (x86) \ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.CSharp.targets" не найден.
Обратите внимание на v4.0.
Чтобы решить, отредактируйте проект и найдите:
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
И изменить его на v5.0.
Затем перезагрузите проект, и он откроется (если у вас не установлен SL 5).
Если вы столкнетесь с ошибкой, которая говорит о том Microsoft.CSharp.Core.targets not found
, что я предпринял следующие шаги, чтобы исправить мою:
Откройте любую предыдущую рабочую папку проектов и перейдите по ссылке, показанной в ошибке, то есть
Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/
и найдитеMicrosoft.CSharp.Core.targets
файл.Скопируйте этот файл и поместите его в нерабочий проект
tools folder
(то есть перейдите в папку инструментов в нерабочем проекте, как показано выше)Теперь закройте ваш проект (если он был открыт) и снова откройте его.
Это должно работать сейчас.
Кроме того, чтобы убедиться, что все работает правильно в вашем теперь открытом Visual Studio Project, перейдите к Tools > NuGetPackage Manager > Manage NuGet Packages For Solution
. Здесь вы можете обнаружить ошибку, которая говорит, что CodeAnalysis.dll используется другим приложением.
Снова зайдите в tools folder
, найдите указанный файл и удалите его. Вернись к Manage NuGet Packages For Solution
. Вы найдете ссылку, которая попросит вас перезагрузить, нажмите на нее, и все будет переустановлено.
Ваш проект должен работать правильно сейчас.
Это глобальное решение, не зависящее от конкретного пакета или корзины.
В моем случае я удалил папку Packages из своего корневого каталога.
Возможно, это происходит из-за того, что ваши пакеты есть, но компилятор не находит их ссылки. поэтому сначала удалите старые пакеты и добавьте новые.
Шаги для добавления новых пакетов
- Сначала удалите папку пакетов ( она будет рядом или на шаг вверх по отношению к папке текущего проекта ).
- Затем перезапустите проект или решение.
- Теперь перестройте файл решения.
- Проект получит новые ссылки от менеджера пакетов nuGet. И ваша проблема была решена.
Это не правильное решение, но я разместил его здесь, потому что столкнулся с той же проблемой.
В моем случае я даже не смог открыть свое решение в визуальной студии и не получил никакой помощи с другими SO-ответами.
Microsoft.CSharp.targets
файл по какой-то причине был удален! как вы сказали, я удалил packages
папку и перезапустил Visual Studio, волшебным образом это сработало! В моем случае я открыл свой файл .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')" />
Для меня проблема была в том, что путь к проекту содержал% 20 символов, потому что git добавил их вместо пробелов при клонировании хранилища. Другая проблема может быть, если путь к пакету слишком длинный.
git clone <RepoUrl> <LocalDirName>
чтобы указать имя каталога для клонирования, чтобы избежать% 20Я удалил папку obj, а затем проект загрузился, как и ожидалось.
В моем случае я не смог загрузить один из 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"
Я столкнулся с этой проблемой при выполнении пьесы Ansible, поэтому я хочу добавить свои 2 цента здесь. Я заметил предупреждающее сообщение об отсутствии Visual Studio 14. Версия Visual Studio 14 была выпущена в 2015 году, и решением моей проблемы была установка Visual Studio 2015 Professional на хост-компьютере моего агента Azure DevOps.
После попытки восстановления, закрытия VS, удаления сбойного пакета, повторного открытия, попытки восстановления, несколько раз я просто удалял все в пакетах, и когда я делал восстановление, и оно работало отлично.
Microsoft.CSharp.Targets
кMicrosoft.CSharp.targets
в.csproj
файлах.