Открытие проекта в Visual Studio завершается с ошибкой из-за ошибки nuget.targets

Итак, я загрузил Twitterizer из http://www.twitterizer.net/downloads/

Я пытаюсь открыть его в Visual Studio и получить все эти ошибки nuget:

The imported project "C:\Twitterizer\.nuget\nuget.targets" was not found. 
Confirm that the path in the <Import> declaration is correct, and that the file 
exists on disk.

Что происходит. Как я могу справиться с этим?

Ответ 1

  1. Установите Nuget.
  2. Щелкните правой кнопкой мыши по решению и выберите "Включить NuGet". "Восстановление пакета". В Visual Studio 2013 и более поздних версиях выберите "Восстановить пакеты NuGet".
  3. Нажмите Ok в предупреждении.
  4. Закройте и снова откройте решение.

Теперь должно быть фанатичным.

Ответ 2

Альтернативой является редактирование файла .csproj с помощью текстового редактора и удаление или комментирование сегмента.

Ответ 3

Эта ошибка обычно возникает, когда вы пытаетесь открыть .csproj напрямую, а не через файл решения, а .csproj импортирует цели Nuget следующим образом:

<Import Project="$(SolutionDir)\.nuget\NuGet.targets" />

Чтобы решить эту проблему, вы можете напрямую открыть .sln, а не .csproj... или удалить строку import выше.

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

Ответ 4

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

Закройте Visual Studio. Если решение, которое вы пытаетесь перенести, откройте в Visual Studio, тогда изменения могут быть потеряны. Visual Studio может перезаписывать/игнорировать ваши изменения в некоторых случаях и расширение NuGet также попытается снова включить восстановление пакета, когда он увидит некоторые проекты в решении отсутствуют.

Если вы используете TFS Удалите файлы NuGet.exe и NuGet.targets из папку .nuget. Убедитесь, что сами файлы также удалены из рабочей области решения. Сохраните файл NuGet.Config для продолжать обходить добавление пакетов в исходный контроль. Редактировать каждый файл проекта (например,.csproj,.vbproj) в решении и удалить ссылки на файл NuGet.targets. Откройте файл проекта (ов) в редактор по вашему выбору и удалите следующие настройки:

true......

<PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download

их. Для получения дополнительной информации см. http://go.microsoft.com/fwlink/?LinkID=322105. Отсутствующий файл {0}.            Если вы не используя TFS Удалите папку .nuget из вашего решения. Убедитесь, что сама папка также удаляется из рабочей области решения. Редактировать каждый файл проекта (например,.csproj,.vbproj) в решении и удалить ссылки на файл NuGet.targets. Откройте файл проекта (ов) в редактор по вашему выбору и удалите следующие настройки:

true......

<PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download

их. Для получения дополнительной информации см. http://go.microsoft.com/fwlink/?LinkID=322105. Отсутствующий файл {0}.            Миграция ScriptМногие пользователи запросили инструмент миграции, чтобы отключить Восстановление пакета на базе MSBuild и преобразование в автоматический пакет Восстановить. Команда NuGet решила не предоставлять поддерживаемый инструмент для этого из-за высокой вероятности краевых случаев, которые были бы необработанный. Однако Оуэн Джонсон создал PowerShell script, который может работать во многих случаях. Он доступен на GitHub и может использоваться в ваш собственный риск. Другими словами, обязательно выполняйте контроль источника перед запуском, на всякий случай, если он не работает в вашем сценарии.

Nuget.target Fix

Ответ 5

Просто столкнулся с той же проблемой, но в моем случае проблема была в имени папки:

Нугет говорил мне, что не может найти "C:\ git\My Path", но мне удалось перейти к "C:\git\My %20Path". Удаление пространства в имени папки "исправлено".

Ответ 6

Когда я получаю ошибку nuget.targets not found, я использую диспетчер пакетов в uninstall-package один из пакетов в проекте и затем переустанавливаю его с помощью install-package. Похоже, он восстанавливает файл nugets.target.

Ответ 7

Самое простое решение, когда вы получите эту ошибку, чтобы восстановить отсутствующий NuGet.targets в Visual Studio Solution Explorer, это:

  • Щелкните правой кнопкой мыши в файле решения
  • В контекстном меню нажмите " Включить восстановление пакета Nuget..."

это приведет к загрузке отсутствующих файлов в папку ".nuget":)

Вышеприведенное предполагает, что у вас уже установлен Nuget - если не следовать принятому ответу выше!

UPDATE: Обратите внимание, что для версий Visual Studio до 2013 года опция называется " Восстановить пакеты NuGet"