удалить пакет NuGet восстановить из раствора



Я добавил недавнюю функцию восстановления пакета nuget в решение с помощью "включить восстановление пакета NuGet":
http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages



однако он сломал мой сервер сборки, и у меня не было времени, чтобы исправить это, поэтому я хотел удалить его. Насколько я знаю, для этого нет возможности, поэтому я удалил следующую строку вручную из всех моих *.файлы csproj:



<Import Project="$(SolutionDir).nugetnuget.targets" />


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



любой идеи, как я могу удалить его навсегда?



обновление: несмотря на ответ ниже он все еще продолжает возвращаться при открытии решения, кто-нибудь с той же проблемой?

729   15  

15 ответов:

я выглядел не очень хорошо, есть еще одно свойство, добавленное в файлы проекта:

<RestorePackages>true</RestorePackages>

просто нужно удалить это, а также все эти строки вручную из всех *.файлы csproj:

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

обновление:

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

UPDATE2:

удалить .папка nuget из корня решения тоже

UPDATE3:

более поздняя версия NuGet добавляет еще один раздел, который необходимо удалить:

 <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'))" />
  </Target>

Update4

внутри NuGet.Targets расположенном в .nuget папка, есть еще один раздел, который добавляется в новые проекты... переключить его в значение false.

<!-- We need to ensure packages are restored prior to assembly resolve -->
<BuildDependsOn Condition="$(RestorePackages) == 'false'">
    RestorePackages;
    $(BuildDependsOn);
</BuildDependsOn>

чтобы отключить восстановление пакета Nuget:

  1. удалить .папка nuget
  2. удалить определенные строки из всех .файлы csproj

строки удалить:

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

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

это основано на следующей статье: http://bartwullems.blogspot.no/2012/08/disable-nuget-package-restore.html

также, возможно, вы захотите дважды проверить, что этот параметр отключен: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

разве это не этот параметр здесь?

параметры... ->Менеджер Пакетов Nuget ->[снять] позволяют NuGet, чтобы загрузить недостающие пакеты

enter image description here

Я использую Visual Studio Professional + Resharper 8.2

решения, в настоящее время использующие MSBuild-Integrated package restore, могут быть перенесены на автоматическое восстановление пакетов. Из того, что я понимаю, это должно помочь тем, кто сталкивается с проблемами сборки 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 год. Однако это сработало,

  1. полностью закрыть VS
  2. обновить <RestorePackages>true</RestorePackages> до <RestorePackages>false</RestorePackages> и удалить <Import Project="$(SolutionDir)\.nuget\nuget.targets" /> строка
  3. и переименовано в nuget.exe до nuget.exe.NotExe

для тех, кто все еще нуждается в очистке проекта с помощью старого стиля NuGet package restore, доступен инструмент IFix здесь автоматизирует процесс.

просто запустите программу установки (IFix будет добавлен в PATH), а затем выполните следующее:

IFix nugetrestore --fix

вы можете запустить его в режиме проверки сначала, чтобы увидеть, что он будет очищать:

IFix nugetrestore --check

У меня была та же проблема. Что я в итоге сделал: 1) зайти в каждый проект .файл csproj в решении, откройте его в блокноте, затем удалите часть xml и сохраните.

2) Затем я удалил весь пакет.конфигурационные файлы во всем решении.

3 )Затем мне пришлось удалить.папки nuget и package.

на данный момент у меня было полностью бесплатное решение NuGet.

4) Затем я вручную ссылался на любые необходимые DLL и нажал compile и решение работало как чемпион без необходимых пакетов NuGet.

перейдите в каталог решений, где у вас есть и nuget.targets файл под ним удалить папку, и изменить удалить строки из вашего csproj в последний раз.

проблема не вернется, чтобы снова вас беспокоить.

Я случайно включил этот параметр "восстановление пакета" при открытии моего проекта в VS2012 RC и начал получать ошибки, которые выглядели примерно так:

" Ошибка 1 не удается найти 'C:\FolderX\SomeProject.nuget\nuget.exe'"

чтобы исправить ошибку я следовал приведенным выше инструкциям, открыл открыть каждый файл проекта в блокноте и удалил эту строку RestorePackage.

Я смог решить эту проблему, выполнив следующие действия:

1) Убедитесь, что вы берете резервную копию всех текущих извлеченных файлов изменений.

2) физически удалите папку решения из вашего C:\ (путь, который сопоставлен с TFS).

3) получить последнюю версию от TFS для вашего решения.

4) скопируйте (если есть) ваши изменения из резервной копии, которую вы сделали в шаге-1.

надеюсь, что помогает !

удалить пакеты.конфигурации файл в вашем решении.

Я столкнулся с точно такой же проблемой и пытался снять всех .теги nuget и RestorePackage из файлов проекта, но один проект просто не перезагрузится, независимо от того, насколько тщательно я его изучил .NuGet и RestorePackages теги. Я думаю, что есть некоторые скрытые ссылки на это где-то.

в итоге проще было просто скопировать файлы и создать новый проект и импортировать его в решение.

Nuget отстой. Просто удалите nugets и удалите или прокомментируйте элементы пакета из пакетов.конфигурация в корневом каталоге проектов, где это проблема. Вместо этого используйте прямые ссылки в некоторую папку lib.

<?xml version="1.0" encoding="utf-8"?>
  <packages>
    <!--<package id="EntityFramework" version="6.0.2" targetFramework="net45" />-->
  </packages>

Comments

    Ничего не найдено.