Pregunta

En mi lugar de trabajo tenemos un servidor proxy temperamental que a menudo hace que la ventana de paquetes NuGet inutilizable (lo mismo es cierto para la línea de comandos Nuget). He empezado a copiar los paquetes que utilizamos más a menudo a una réplica local en una red compartida, pero haciendo esto de forma manual ha llegar a ser tedioso. He experimentado con el uso de PowerShell para descargar los paquetes de forma automática, pero parece que no puede conseguir el URI OData para mostrar más de unos pocos paquetes. Por ejemplo ejecutando la consulta siguiente:

$feed = [xml]$webClient.DownloadString("http://feed.nuget.org/ctp2/odata/v1/Packages?$filter=startswith(Title,'O') eq true&$top=100")

En caso de devolver los paquetes de la parte superior 100 que tienen un título que comienza con 'O', pero no se devuelven los paquetes. Extrañamente esta bien trabaja con los nombres de paquetes que se encuentran en la lista predeterminada de paquetes devueltos por golpear http://feed.nuget.org/ctp2/odata/v1/Packages. Estoy adivinanzas que hay algún tipo de paginación pasando, donde sólo estoy preguntando sobre la primera página. Jugando con los parámetros que no parecen ser capaces de cambiar a la siguiente página ...

¿Alguien más ha tratado de hacer esto? Alguien más ha notado los tiempos de espera / malos peticiones usando Nuget?

¿Fue útil?

Solución

Jon Galloway registró un script que descarga PS todo el repositorio. Lo he utilizado en un par de máquinas y funciona muy bien para mí.

http://weblogs.asp.net / jongalloway / descarga-a-local-Nuget-repositorio-con-PowerShell

Otros consejos

Mi sugerencia es utilizar la Nueva ODataServiceProxy o incluso Doug Finke de proyecto PSOdata

Con sólo la función de proxy se puede hacer esto:

New-ODataServiceProxy http://packages.nuget.org/v1/FeedService.svc/ NuGet
 # Chain up calls to AddQueryOption (please excuse my line wrapping):
$NuGet.Packages.AddQueryOption( '$filter',"startswith(Title,'O') eq true"
              ).AddQueryOption( '$top','3' ) |
Format-Table Id, Version, Authors, Description -Wrap -Auto

hay que tener cuidado cuando se utiliza cadena entre comillas dobles. Trate de evaluar la url primero, o sólo una parte:

PS> "?$filter=startswith(Title,'O') eq true&$top=100"
?=startswith(Title,'O') eq true&=100

PS> "?`$filter=startswith(Title,'O') eq true&`$top=100"
?$filter=startswith(Title,'O') eq true&$top=100

Escapar el signo de dólar con acento grave.

Luego trató de consultar el sitio con (esperemos) URL correcta, pero se ha devuelto ninguna entrada resultado. Por lo tanto -. Sigue sin suerte y podría haber algo malo con el servicio

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top