Ошибка использования nuget в VS2012 "Отсутствующие пакеты"

Когда я строю свой проект из VS2012, я получаю следующее сообщение об ошибке

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

У меня есть параметры nuget для NuGet для загрузки отсутствующих пакетов.

picture of nugget options

Но я все еще получаю ошибку. У меня установлен самородка 2.7. С обновлением VS2012 3

Ответ 1

Как сказал Дэн, если ваше решение имеет папку .nuget(из включения восстановления пакета), то функция автоматического восстановления пакета nuget 2.7 отключается, согласно http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore.

Если автоматическое восстановление пакета отключено, то любой пакет, устанавливающий файлы проекта, приведет к сбою вашей сборки, пока вы вручную не восстановите этот пакет в своем решении, как описано http://blogs.msdn.com/b/dotnet/archive/2013/06/12/nuget-package-restore-issues.aspx. (Обратите внимание, что обходные пути, описанные в ссылке, устарели, теперь доступно автоматическое восстановление пакета nuget 2.7.)

Итак, если обе эти вещи верны, удалите файл NuGet.targets в папке .nuget, и Nuget затем восстановит недостающий пакет перед вызовом MSBuild. Вы также можете удалить nuget.exe в папке .nuget, так как он больше не будет использоваться.

Ответ 2

Пожалуйста, следуйте нижеуказанным шагам:

Шаг 1: Включите восстановление пакета Nuget, щелкнув правой кнопкой мыши по решению [как указано ниже в скриншоте]

Enable Nuget Package Restore

Шаг 2: [Следуйте этому, если проблема/ошибка не устранена с помощью шага 1] Если вы столкнулись с проблемой, откройте файл .csproj в блокноте и проверьте путь к пакету, который может выглядеть как

Package Path

Итак, ваша структура каталогов решений будет выглядеть так:

\SolutionDirectory\

Каталог пакетов:

\SolutionDirectory\packages

Каталог проектов:

\SolutionDirectory\ProjectName\ProjectName.csproj

Пожалуйста, откройте этот .csproj [, в котором вы получаете ошибку] ​​в блокноте и найдите путь к пакетам и обновите его до соответствующего пути.

Например, my.csproj содержится, если файл .csproj содержит ..\..\packages, то обновите этот путь с помощью ..\packages

Ответ 3

Ответы очень полезны для меня, чтобы найти решение. Поскольку для решения моей конкретной проблемы требуется еще один шаг, я сообщаю об этом здесь, если это полезно для других. Ошибка, которую я получал:

Error   117 This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\..\Windows Phone 8\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets.

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

<Error Condition="!Exists(...

Ответ 4

  • Удалить NuGet
  • Удалить с помощью Notepad.targets, которые зависят от NuGet от файла проекта.
  • Установите последнюю версию NuGet
  • Перезапустите Visual Studio и снова запустите проект/решение.
  • Если вы хотите добавить новые .nuget файлы с последней версией NuGet

Ответ 5

Удалите каталог .nuget из решения, если оно существует. Отредактируйте файл проекта и удалите элементы Import и Target, содержащие ссылки на папку .nuget, Сохраните и перезагрузите проект.

Ответ 6

попробуйте это,

  • Элемент списка
  • щелкните правой кнопкой мыши по решению
  • нажмите кнопку управления NuGet
  • настройка клика в левом нижнем углу
  • установите флажок Разрешить NuGet для загрузки отсутствующего пакета.

Ответ 7

Просто нажмите "Решение" и "Включить восстановление пакета NuGet" решите мою проблему.

Ответ 8

Откройте csproj файл в блокноте и удалите из него элементы Error Condition (или создайте эти условия):

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
    <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.101.0\build\net45\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.101.0\build\net45\System.Data.SQLite.Core.targets'))" />
  </Target>