Ошибка использования 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>