Sé que puedo desinstalar el paquete desde la consola PM. Tuve algunos problemas de dependencia con otro proyecto y quiero comenzar de nuevo, y necesito eliminar todos los paquetes de una sola vez. ¿Hay alguna manera?
90
Sé que puedo desinstalar el paquete desde la consola PM. Tuve algunos problemas de dependencia con otro proyecto y quiero comenzar de nuevo, y necesito eliminar todos los paquetes de una sola vez. ¿Hay alguna manera?
Para obtener todos los paquetes de todos los proyectos de la solución, utilice Get-Package
. Para obtener todos los paquetes de un proyecto específico, use Get-Package -ProjectName "YourProjectName"
.
Tenga cuidado: esto desinstalará TODOS los paquetes de la solución . Si
-Force
se utiliza un parámetro, los paquetes se eliminan incluso si existen dependencias.
Get-Package | Uninstall-Package -RemoveDependencies -Force
Tenga cuidado: esto desinstalará TODOS los paquetes del proyecto . Si
-Force
se utiliza un parámetro, los paquetes se eliminan incluso si existen dependencias.
Get-Package -ProjectName "YourProjectName" |
Uninstall-Package -ProjectName "YourProjectName" -RemoveDependencies -Force
-force
. Esto funcionó para mí.En Package Manager Console, simplemente escriba:
fuente
-Force
switch.prueba esto:
fuente
Si desea desinstalar todos los paquetes NuGet de todos los proyectos de una solución, utilice esto en la consola del administrador de paquetes NuGet:
fuente
$packages = Get-Package -ProjectName MyProjectName; foreach($package in $packages){ Uninstall-Package -ProjectName MyProjectName -Id $package.Id -Force}
El uso del parámetro -Force en mi caso dejó modificaciones en el archivo del proyecto y referencias a algunos binarios que deberían haberse eliminado al desinstalar normalmente los paquetes.
Aquí hay un método ingenuo para desinstalar todos los paquetes de proyectos específicos sin usar el parámetro -Force. Efectivamente, intenta desinstalar los paquetes una y otra vez hasta que no quedan paquetes, por lo que verá algunos errores que mencionan paquetes dependientes (si los tiene), pero aparecerán cada vez menos a medida que los paquetes hoja se eliminen en cada iteración.
También vale la pena mencionar que solo probé los siguientes fragmentos de PowerShell en la consola PackageManager. ("Herramientas> Administrador de paquetes NuGet> Consola del administrador de paquetes")
Desinstale todos los paquetes de todos los proyectos en una solución
Elimine solo proyectos que contengan la palabra " WildCardSearch "
Tenga en cuenta que si tiene otro problema además de los paquetes dependientes que impiden la desinstalación del paquete, este fragmento se ejecutará para siempre hasta que lo detenga manualmente.
fuente
No creo que esto sea posible, así que desinstale TODOS los paquetes a la vez. Sin embargo, como ya indicaste, puedes desinstalar un paquete, pero también puedes decirle que desinstale sus dependencias haciendo lo siguiente:
Aquí hay un blog de Marcus Hammarberg que explica esto: http://www.marcusoft.net/2011/02/nuget-uninstall-remove-dependencies.html
fuente
Bucle falso de la vieja escuela:
fuente
Se actualizó un script para eliminar todos los paquetes nuget para un solo proyecto en la solución VS:
fuente
Restauración automática (desinstalar y luego instalar) de paquetes en un proyecto usando Package Manager Console:
Paquete de actualización: reinstalar
fuente