Импортированный проект «C:\Microsoft.CSharp.targets» не найден.
-
08-06-2019 - |
Вопрос
Сегодня я получил эту ошибку при попытке открыть Visual Studio 2008. проект в Visual Studio 2005:
Импортированный проект «C:\Microsoft.CSharp.targets» не найден.
Решение
Откройте свой файл csproj в блокноте (или блокноте ++) Найдите строку:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
и измените его на
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
Другие советы
Это глобальное решение, не зависящее от конкретной упаковки или контейнера.
В моем случае я удалил Пакеты папка из моего корневого каталога.
Возможно, это происходит из-за того, что ваши пакеты есть, но компилятор не находит на них ссылку.поэтому сначала удалите старые пакеты и добавьте новые.
Шаги к Добавить новые пакеты
- Сначала удалите папку packages (он будет рядом или на один шаг ближе к папке текущего проекта.).
- Затем перезапустите проект или решение.
- Теперь перестройте файл решения.
- Проект получит новые ссылки от диспетчера пакетов nuGet.И ваша проблема решена.
Это не правильное решение, но Я разместил это здесь, потому что столкнулся с той же проблемой.
В моем случае, Я даже не могу открыть свое решение в визуальной студии и не получил никакой помощи по приведенным выше ответам.
Для меня проблема заключалась в том, что путь к проекту содержал %20 символов, потому что git добавил их вместо пробелов при клонировании репозитория.Другая проблема может заключаться в том, что путь к пакету слишком длинный.
Этот ссылка на MSDN также очень помогает понять причину, по которой это не работает.$(MSBuildToolsPath) — это путь к Microsoft.Build.Engine v3.5 (автоматически вставляется в файл проекта при создании в VS2008).Если вы попытаетесь собрать проект для .Net 2.0, убедитесь, что вы изменили этот путь на $(MSBuildBinPath), который является путем к Microsoft.Build.Engine v2.0.
В моем случае я не смог загрузить один снаружи 5 проектов в моем решении.
Это помогло закрыть Visual Studio и мне пришлось удалить Microsoft.Net.Compilers.1.3.2
папка nuget под packages
папка.
После этого снова откройте свое решение, и проект загрузится, как ожидалось.
На всякий случай закройте все экземпляры VS, прежде чем удалять папку.
Раньше в файле csproj у меня была следующая строка:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
После удаления этого файла все работает нормально.
Если вы столкнулись с ошибкой, в которой говорится 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 все работает правильно, перейдите по ссылке Tools > NuGetPackage Manager > Manage NuGet Packages For Solution
.Здесь вы можете найти сообщение об ошибке: CodeAnalysis.dll используется другим приложением.
Опять же, зайдите в tools folder
, найдите указанный файл и удалите его.Вернуться к Manage NuGet Packages For Solution
.Вы найдете ссылку, которая попросит вас перезагрузить компьютер, щелкните ее, и все будет переустановлено.
Теперь ваш проект должен работать правильно.
У меня такое появилось после переустановки винды.Visual Studio была установлена, и я мог видеть тип проекта Silverlight в окне «Новый проект», но открыть его не удалось.Решение было простым:Мне пришлось установить среду выполнения Silverlight Developer и/или инструменты Microsoft Silverlight 4 для Visual Studio.Это может показаться глупым, но я упустил это из виду, поскольку считал, что это должно работать, поскольку тип проекта Silverlight был доступен.
ок, а что, если он скажет следующее:между знаками GT/LT
Import Project = "$ (msbuildextensionspath) microsoft silverlight v3.0 microsoft.silverlight.csharp.targets" /
как исправить ошибку целей?
Я также нашел эту строку импорта в демонстрационном проекте (в частности, «Создайте свою собственную MVVM Framework» Роба Айзенбурга).
Если вы замените этот импорт импортом, предложенным в отчетах lomaxx VS2010 RTM, вам необходимо установить этот.
При ошибках с Microsoft.WebApplications.targets
, ты можешь:
- Установите Visual Studio 2010 (или ту же версию, что и на компьютере разработки) на свой TFS-сервер.
- Скопируйте «
Microsoft.WebApplication.targets
» из файла машины разработки на машину сборки TFS.
Вот пост.
В моем случае я открыл файл .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')" />
Эта ошибка также может возникнуть при открытии проекта 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).
Я удалил папку obj, а затем проект загрузился, как и ожидалось.
Иногда проблема может быть связана с жестко закодированной версией 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, удаления неудачного пакета, повторного открытия, попытки восстановления я несколько раз просто удалял все в пакетах, и когда я выполнял восстановление, все работало отлично.