Я добавил функцию восстановления пакета nuget в решение, используя «Включить восстановление пакета NuGet»: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
Однако, это сломало мой сервер сборки, и у меня не было времени, чтобы исправить это, поэтому я хотел удалить его. Насколько я знаю, для этого нет никакой возможности, поэтому я удалил следующую строку вручную из всех моих файлов * .csproj:
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
Теперь проблема в том, что каждый раз, когда мои файлы * .csproj извлекаются или открываются мое решение, строка автоматически добавляется снова, ломая мою сборку, если я случайно проверил это :(
Любые идеи, как я могу удалить это навсегда?
ОБНОВЛЕНИЕ: несмотря на ответ ниже, он все еще возвращается при открытии решения, кто-нибудь с такой же проблемой?
источник
Ответы:
Я выглядел не очень хорошо, к файлам проекта добавлено еще одно свойство:
Просто удалите это, а также все эти строки вручную из всех файлов * .csproj:
ОБНОВИТЬ:
Оказывается, это постоянная небольшая ошибка, если вы вручную редактируете файлы проекта, обязательно закройте решение и удалите все строки из проекта сразу , в противном случае они просто добавляются снова после перезагрузки проекта ...
UPDATE2:
Удалите папку .nuget и из корня решения.
Update3:
Более поздняя версия NuGet добавляет еще один раздел, который вам нужно удалить:
Update4
Внутри
NuGet.Targets
расположенной в.nuget
папке есть еще один раздел, который добавляется в новые проекты ... переключите его на false.источник
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
в конце файла .csproj есть также файл, который необходимо удалить вручную.Чтобы отключить восстановление пакета Nuget:
Строки для удаления:
Примечание: убедитесь, что вы сделали все изменения за один раз до перезагрузки решения, иначе оно добавит их обратно.
Это основано на следующей статье: http://bartwullems.blogspot.no/2012/08/disable-nuget-package-restore.html
Кроме того, вы можете дважды проверить, что эта опция отключена: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
источник
Разве это не здесь?
Параметры ... -> Диспетчер пакетов Nuget -> [снять флажок] Разрешить Nuget загружать недостающие пакеты
Я использую Visual Studio Professional + Resharper 8.2
источник
Restoring NuGet packages... To prevent NuGet from restoring packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages during build.'
это просто подтверждение того, что так и должно быть..nuget/
папку и изменял вашу.csproj
ссылку на.targets
файл. Вы должны были передатьnuget.exe
свою VCS (например, решение проблемы, которую разрешает Nuget!) И тому подобное безобразие. В настоящее времяmsbuild /restore
существует и восстановление встроенного пакета VS. ОП спрашивает, как удалить старый, плохой способ работы, а не как отключить правильную встроенную поддержку восстановления пакетов VS.Решения, использующие MSBuild-Integrated для восстановления пакетов, можно перенести в режим автоматического восстановления пакетов. Насколько я понимаю, это должно помочь тем, кто сталкивается с проблемами сборки CI. (Пожалуйста, поправьте меня, если я ошибаюсь).
Обратитесь к документу на веб-сайте Nuget: Миграция интегрированных решений MSBuild для использования автоматического восстановления пакетов по адресу http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore.
Там есть информация для конвертации с TFS и без.
Дэвид Эббо также опубликовал некоторую информацию на http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html
источник
На самом деле у нас есть пост в блоге, и в конце поста был упомянут скрипт powershell, чтобы помочь с миграцией.
http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
источник
NuGet имеет сообщение в блоге о переходе на автоматическое восстановление пакетов: http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
В сообщении блога есть ссылка на сценарий powershell , который позаботится об автоматическом (и рекурсивном) удалении необходимых строк : https://github.com/owen2/AutomaticPackageRestoreMigrationScript/blob/master/migrateToAutomaticPackageRestore.ps1
Предложение «Отключить восстановление пакета NuGet» напрямую помечено как «Не исправить»: https://nuget.codeplex.com/workitem/1883.
источник
Я следовал принятому решению безрезультатно, используя 2012 год. Это сработало, хотя,
<RestorePackages>true</RestorePackages>
до<RestorePackages>false</RestorePackages>
и удалить<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
строкуnuget.exe
вnuget.exe.NotExe
источник
Для тех, кто все еще нуждается в очистке проекта, используя восстановление пакета NuGet старого стиля, инструмент IFix, доступный здесь, автоматизирует процесс.
Просто запустите установщик (
IFix
будет добавлен вPATH
) и затем выполните следующее:Вы можете запустить его в режиме проверки, чтобы посмотреть, что он будет очищать:
источник
Я была такая же проблема. Что я в итоге сделал: 1) Зайдите в каждый файл проекта .csproj в решении, откройте его в блокноте, затем удалите часть XML и сохраните.
2) Затем я удалил все файлы package.config во всем решении.
3) Затем мне пришлось удалить папки .nuget и package.
На данный момент у меня было полностью бесплатное решение NuGet.
4) Затем я вручную сослался на все необходимые библиотеки DLL и нажал кнопку «Компилировать», и решение работало как победитель без необходимости использования пакетов NuGet.
источник
Перейдите в каталог вашего решения, где у вас есть
[$(SolutionDir)\.nuget\nuget.targets] .nuget
папка иnuget.targets
файл, под которым вы удалите папку, и измените удаление строк из вашего csproj в последний раз.Проблема не вернется, чтобы снова вас обидеть.
источник
Удалите файл packages.config в своем решении.
источник
Я случайно включил эту опцию «восстановление пакета» при открытии своего проекта в VS2012 RC и начал получать ошибки, которые выглядели примерно так:
"Ошибка 1 Невозможно найти 'C: \ FolderX \ SomeProject.nuget \ nuget.exe'"
Чтобы исправить ошибку, я следовал приведенным выше инструкциям, открыл, открыл каждый файл проекта в блокноте и удалил эту строку RestorePackage.
источник
Я смог решить эту проблему, приняв следующие меры:
1) убедитесь, что вы делаете резервную копию всех ваших текущих проверенных изменений файлов.
2) физически удалите папку решения из своего C: \ (путь, который сопоставлен с TFS).
3) получить последнюю версию от TFS для вашего решения.
4) скопируйте (если есть) ваши изменения из резервной копии, которую вы сделали на шаге 1.
надеюсь, это поможет !
источник
Я столкнулся с точно такой же проблемой и попытался удалить все теги .nuget и RestorePackage из файлов проекта, но один проект просто не перезагрузился бы, независимо от того, насколько тщательно я исследовал его для тегов .nuget и RestorePackages. Я предполагаю, что есть где-то скрытые ссылки на это.
В конце концов, проще было просто скопировать файлы, создать новый проект и импортировать его в решение.
источник
Nuget отстой. Просто удалите nugets и удалите или закомментируйте элементы пакета из packages.config в корневом каталоге проектов, где это является проблемой. Вместо этого используйте прямые ссылки в какую-нибудь папку lib.
источник