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"