Mon serveur NuGet lance un 405 non autorisé lorsque j'essaie de créer un push. Au moins, c’est ce que dit la console NuGet:
Failed to process request. 'Method Not Allowed'.
The remote server returned an error: (405) Method Not Allowed..
Mais quand je regarde la réponse HTTP réelle avec Fiddler, le problème semble être totalement différent:
<?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>
Des idées sur ce qui pourrait se passer?
Merci!
Après quelques heures de travail sur le sujet, j'ai pu trouver le problème.
Quand vous listez les paquets sur le serveur NuGet, vous pointez sur http://nugetserver.com/ nuget . Cependant, lorsque vous essayez de pousser ou de supprimer un paquet, vous devez pointer vers http://nugetserver.com sans le dossier nuget dans le chemin.
Qu'est-ce qui se passe, c'est que NuGet.exe ajoute/api/v2/package à l'URL en le transformant en http://nugetserver.com/ api/v2/package
Je pense que c'est loin d'être optimal car cela vous oblige à ajouter deux sources différentes à votre nuget.exe.config: une pour get/list et une autre pour charger/supprimer des paquets.
En plus d'utiliser nuget Push -Source http://nugetserver.com
, j'ai fait ceci:
<!--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" />
Source: Nuget numéro 1789
J'ai eu la même erreur - dans mon cas, ma variable d'environnement NuGet pointait vers une ancienne version v2 de NuGet et j'essayais de transmettre à un flux v3.
Rejoint ma variable d'environnement à une v3, NuGet.exe l'a corrigée.
Silly erreur, mais j'espère que cela pourrait sauver du temps à quelqu'un.
la solution pour moi - exécuter un IISlocal _ sur un ordinateur Windows 8.1 -
devait activer "l'authentification Windows" et "l'emprunt d'identité ASP.NET"
Le correctif pour moi était dans IIS. J'ai désactivé l'authentification Windows et activé l'authentification anonyme.
Je poussais sur mon propre serveur de pépites.
J'utilise la version 3.1.2. Après avoir lutté avec ce problème pendant un moment, les éléments suivants l'ont fait pour moi: