visual studio manager instalar how nuget

studio - ¿Hay alguna forma de actualizar automáticamente nuget.exe en la carpeta.nuget al usar la restauración de paquetes?



nuget visual studio 2017 (3)

Mi equipo ha estado utilizando la opción Habilitar restauración de paquete desde Nuget 1.5 para mantener los paquetes fuera de nuestro control de origen. Cuando se lanzó Nuget 1.6 notamos un problema en el que no estaba tirando de los paquetes, y lo rastreamos hasta Nuget.exe en la carpeta .nuget necesaria para actualizar a 1.6 para que coincida con el Administrador de paquetes.

¿Cuál es la mejor manera de actualizar una solución una vez que Nuget ha sido incumplida? No veo una manera fácil desde el estudio de decir qué versión de nuget está en la carpeta de la solución. Hasta ahora volamos la carpeta .nuget y volvemos a ejecutar el comando Enable Package Restore.


Descubrí que la mejor manera de manejar esto es simplemente eliminando la carpeta .nuget y volviendo a habilitar la restauración del paquete de toda la solución. Como se dijo anteriormente, podría agregar un comando de auto actualización a su compilación, pero eso no actualizará los objetivos o archivos de configuración si hay cambios entre versiones (o elimina la referencia de su solución). Tal vez no sea tan importante, pero esta es la forma segura de asegurarse de tener los últimos archivos de configuración y exe. Y al final del día, la actualización es solo un problema si necesita acceder a un nuevo comando o si finalmente hay un cambio importante en un nuevo lanzamiento.


Sugiero actualizar .nuget / nuget.exe con este comando desde la línea de comando:

nuget.exe update -self

[EDIT]: cierre la VS Solution primero. Si hay una actualización y se abre la solución, nuget.exe se eliminará de la solución.

Puede actualizar nuget.exe automáticamente en la restauración modificando .nuget / nuget.targets para agregar el comando anterior. Me gustaría ver el comando de restauración allí como un ejemplo. Pero no estoy seguro si vale la pena, las actualizaciones de nuget.exe no son tan comunes, y la compatibilidad con versiones anteriores debería romperse muy raramente.


Vea la publicación de David Ebbo en su blog

Básicamente, todo lo que necesita hacer es crear un archivo NuGet.Config al lado de su archivo .sln, que contenga:

<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear/> <add key="nuget.org" value="https://www.nuget.org/api/v2/" /> <add key="aspnetwebstacknightlyrelease" value="https://www.myget.org/f/aspnetwebstacknightlyrelease/" /> </packageSources> </configuration>