net delete push nuget nuget-server

delete - Método 405 no permitido en NuGet Push



nuget publish package (5)

Además de usar nuget push -Source http://nugetserver.com , hice esto:

<!--Add the following to the beginning of <system.webServer><modules>:--> <remove name="WebDAVModule" /> <!--Add the following to the beginning of <system.webServer><handlers>:--> <remove name="WebDAV" />

Fuente: Nuget número 1789.

Mi servidor NuGet está lanzando un 405 No permitido cuando intento realizar una inserción. Al menos, eso es lo que dice la consola de NuGet:

Failed to process request. ''Method Not Allowed''. The remote server returned an error: (405) Method Not Allowed..

Pero cuando veo la respuesta HTTP real con Fiddler, el problema parece ser totalmente diferente:

<?xml version="1.0" encoding="utf-8" standalone="yes"?> <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> <code></code> <message xml:lang="en-US">The URL representing the root of the service only supports GET requests.</message> </error>

¿Alguna idea sobre lo que podría estar pasando?

¡Gracias!


Después de unas horas trabajando en el problema, pude encontrarlo.

Cuando LISTAS paquetes en el servidor NuGet, apuntas a http://nugetserver.com/ . Sin embargo, cuando intenta PULSAR o BORRAR un paquete, debe apuntar a http://nugetserver.com/ sin la carpeta nuget en la ruta.

Lo que sucede es que NuGet.exe adjunta / api / v2 / package a la URL y lo convierte en http://nugetserver.com/ api / v2 / package

Creo que esto dista mucho de ser óptimo porque hace que agregues dos fuentes diferentes a tu nuget.exe.config: una para obtener / list y otra para empujar / eliminar paquetes.


La solución para mí fue en IIS. Deshabilité la autenticación de Windows y habilité la autenticación anónima.

Estaba empujando a mi propio servidor nuget.


Tuve el mismo error: en mi caso, mi variable de entorno NuGet estaba apuntando a una versión v2 de NuGet, y estaba tratando de pasar a una fuente v3.

Reposicionando mi variable de entorno a un v3 NuGet.exe lo arregló.

Un error tonto, pero con suerte eso podría ahorrarle a alguien algo de tiempo.


la solución para mí: ejecutar un IIS local en una computadora con Windows 8.1
fue para habilitar la "autenticación de Windows" y la "suplantación de ASP.NET"