Eu sei que posso desinstalar o pacote do console PM. Tive alguns problemas de dependência com outro projeto e quero começar de novo, e preciso excluir todos os pacotes de uma vez. Há algum caminho?
91
Eu sei que posso desinstalar o pacote do console PM. Tive alguns problemas de dependência com outro projeto e quero começar de novo, e preciso excluir todos os pacotes de uma vez. Há algum caminho?
Para obter todos os pacotes de todos os projetos no uso da solução Get-Package
. Para obter todos os pacotes de um uso de projeto específico Get-Package -ProjectName "YourProjectName"
.
Cuidado: Isso desinstalará TODOS os pacotes da solução . Se o
-Force
parâmetro for usado, os pacotes serão removidos mesmo que existam dependências.
Get-Package | Uninstall-Package -RemoveDependencies -Force
Cuidado: Isso desinstalará TODOS os pacotes do projeto . Se o
-Force
parâmetro for usado, os pacotes serão removidos mesmo que existam dependências.
Get-Package -ProjectName "YourProjectName" |
Uninstall-Package -ProjectName "YourProjectName" -RemoveDependencies -Force
-force
. Isso funcionou para mim.No console do gerenciador de pacotes, basta digitar:
fonte
-Force
switch.tente isto:
fonte
Se você deseja desinstalar todos os pacotes NuGet de todos os projetos em uma solução, use isso no console do gerenciador de pacotes NuGet:
fonte
$packages = Get-Package -ProjectName MyProjectName; foreach($package in $packages){ Uninstall-Package -ProjectName MyProjectName -Id $package.Id -Force}
Usar o parâmetro -Force no meu caso deixou modificações no arquivo do projeto e referências a alguns binários que deveriam ter sido removidos ao desinstalar normalmente os pacotes.
Aqui está um método ingênuo para desinstalar todos os pacotes de projetos específicos sem usar o parâmetro -Force. Efetivamente, ele tenta desinstalar os pacotes repetidamente até que não haja mais pacotes, então você verá alguns erros mencionando pacotes dependentes (se os tiver), mas eles aparecerão cada vez menos conforme os pacotes folha forem removidos a cada iteração.
Também vale a pena mencionar que testei apenas os seguintes snippets do PowerShell no console PackageManager. ("Ferramentas> Gerenciador de pacotes NuGet> Console do gerenciador de pacotes")
Desinstale todos os pacotes de todos os projetos em uma solução
Remova apenas projetos que contenham a palavra " WildCardSearch "
Observe que se você tiver outro problema além dos pacotes dependentes que impedem a desinstalação do pacote, este snippet será executado para sempre até que você o interrompa manualmente.
fonte
Eu não acredito que isso seja possível, então desinstale TODOS os pacotes de uma vez. No entanto, como você já indicou, você pode desinstalar um pacote, mas também pode instruí-lo a desinstalar suas dependências fazendo o seguinte:
Aqui está um blog de Marcus Hammarberg explicando isso: http://www.marcusoft.net/2011/02/nuget-uninstall-remove-dependencies.html
fonte
Atualizado um script para remover todos os pacotes nuget para um único projeto na solução VS:
fonte
Fictício da velha escola para loop:
fonte
Restauração automática (desinstale e instale) de pacotes em um projeto usando o Console do gerenciador de pacotes:
Update-Package -Reinstall
fonte