Открытие проекта в Visual Studio завершается неудачно из-за ошибки nuget.targets не найден - PullRequest
100 голосов
/ 03 февраля 2012

Итак, я скачал 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.

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

Ответы [ 7 ]

169 голосов
/ 10 февраля 2012
  1. Установить Nuget.
  2. Щелкните правой кнопкой мыши по решению и выберите «Включить NuGet». Восстановление пакета ".
  3. Нажмите Ok на предупреждении.
  4. Закройте и снова откройте раствор.

Теперь должен быть неуклюжим.

22 голосов
/ 25 марта 2013

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

14 голосов
/ 29 августа 2015

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

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

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

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

2 голосов
/ 23 июня 2016

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

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

1 голос
/ 19 мая 2016

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

Закройте 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}.Сценарий миграции Многие пользователи просили инструмент миграции, чтобы отключить восстановление пакета на основе MSBuild и преобразовать его в Автоматическое восстановление пакета.Команда NuGet решила не предоставлять поддерживаемый инструмент для этого из-за высокой вероятности непредвиденных случаев.Однако Оуэн Джонсон создал сценарий PowerShell, который может работать во многих случаях.Он доступен на GitHub и может использоваться на свой страх и риск.Другими словами, не забудьте зафиксировать управление исходным кодом перед его запуском, на случай, если он не будет работать в вашем сценарии.

Исправление Nuget.target

1 голос
/ 12 мая 2014

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

  1. Щелкните правой кнопкой мыши в файле решения
  2. В контекстном меню выберите « Включить восстановление пакета Nuget ...»

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

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

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

1 голос
/ 28 июня 2013

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

...