Saltar al contenido

cómo obtener todas las dependencias nuget para la instalación fuera de línea

Solución:

Simplemente pasé por el dolor de esto y quería encontrar una solución usando solo la CLI de NuGet. Resulta que en realidad es bastante simple:

> nuget.exe install <PACKAGENAME> -OutputDirectory <OUTPUTDIR>

La clave es la -OutputDirectory switch que hace que la CLI instale el paquete especificado en un directorio que no tiene un archivo de proyecto. La ejecución de este comando descargará el paquete y todas sus dependencias en el directorio de salida, y cada paquete se colocará en una subcarpeta separada. A continuación, puede tomar todos los .nupkg desde el directorio de salida y haga lo que tenga que hacer con ellos.

Actualizar: Como señala Igand en los comentarios, el -OutputDirectory En realidad, no se requiere un interruptor. Si se omite, nuget.exe simplemente se descargará en la carpeta actual. Aún así, es mejor no descargarlo en una carpeta con un archivo de proyecto (a menos que eso sea lo que está buscando).

Tenía una necesidad similar, así que creé NuSave.

Almacene en caché un solo paquete NuGet con dependencias

nusave cache package "[email protected]" --targetFrameworks "[email protected],[email protected]" --cacheDir "C:pathtomy-local-feed"

Almacene en caché varios paquetes NuGet de un .csproj expediente

nusave cache csproj "C:pathtoproject.csproj" --cacheDir "C:pathtomy-local-feed"

Almacene en caché varios paquetes NuGet desde un .sln expediente

nusave cache sln "C:pathtosolution.sln" --cacheDir "C:pathtomy-local-feed"

Restaurar y crear una solución sin conexión usando mi caché local

cd C:pathtomy-solution
dotnet restore --packages C:pathtomy-local-feed
dotnet build --no-restore

En la computadora con acceso a Internet, los paquetes NuGet (.nupkg) deben estar en la caché de la máquina local. En Windows, se encuentra en un directorio similar a:

C:UsersYourUsernameAppDataLocalNuGetCache

Por lo tanto, debería poder copiar los archivos .nupkg desde allí a la computadora sin acceso a Internet. Crearía un directorio en esa computadora y configuraría una nueva fuente de paquete apuntando a ese directorio. Alternativamente, puede copiar los archivos .nupkg al caché de la máquina local, solo tenga en cuenta que hay un límite de 200 paquetes NuGet en el caché. Luego, puede crear una fuente de paquete que apunte a la caché.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *