Ho configurato la nuova galleria NuGet su un server Web (in IIS 7.0) in cui lavoro. Il sito stesso è impostato e funziona bene. Siamo in grado di registrare account, confermare gli indirizzi email e persino caricare un nuovo pacchetto attraverso il sito stesso.Perché la Galleria NuGet restituisce 500 da nuget push?
I nostri script di compilazione automatici devono essere in grado di inviare nuovi pacchetti NuGet alla galleria. Quando uso il comando spinta di NuGet:
nuget.exe push build\nuget\BaconAndEggs.1.0.0.1.nupkg 1451002a-8c63-4174-b7ed-73dd3e7bcdf0 -Source http://somenearbyserver/
ottengo il seguente risultato:
Pushing BaconAndEggs 1.0.0.1 to 'http://somenearbyserver/'...
Failed to process request. 'Internal Server Error'.
The remote server returned an error: (500) Internal Server Error..
Il sito web è in grado di caricare un nuovo pacchetto bene, ma la linea di comando non è. Se provo il comando push con fiddler in esecuzione, esso osserva due richieste consecutive durante l'esecuzione del comando push. Uno sembra toccare il sito per assicurarsi che sia lì, mentre il secondo è il comando effettivo.
Request 1: GET http://somenearbyserver/ 200 OK
Request 2: PUT http://somenearbyserver/api/v2/package/ 500 Internal Server Error
Il contenuto della richiesta PUT è corretto, contiene la chiave API e il payload. Guardando sul server web, non ci sono errori nel visualizzatore eventi e elmah non cattura nulla.
Fiddler indica questo come la risposta al PUT:
HTTP/1.1 500 Internal Server Error
Content-Type: text/html
Server: Microsoft-IIS/7.0
X-Powered-By: ASP.NET
Date: Wed, 18 Jan 2012 20:21:08 GMT
Connection: close
Content-Length: 1208
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>500 - Internal server error.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;}
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;}
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
<div class="content-container"><fieldset>
<h2>500 - Internal server error.</h2>
<h3>There is a problem with the resource you are looking for, and it cannot be displayed.</h3>
</fieldset></div>
</div>
</body>
</html>
sto usando NuGet Version: 1.6.21205.9031
dalla riga di comando.
Quale potrebbe essere il problema?
EDIT: Dopo aver abilitato le pagine di errore dettagliati sulla cartella api nel sito, ottengo questo con la risposta 500 sopra descritto:
Server Error in Application "NUGET" Internet Information Services 7.0 Error Summary HTTP Error 500.0 - Internal Server Error The page cannot be displayed because an internal server error has occurred. Detailed Error Information Module = LiveStreamingHandler Notification = MapRequestHandler Handler = WebDAV Error Code = 0x80070585 Requested URL = http://somenearbyserver:80/api/v2/package/ Physical Path = M:\path\to\nuget-gallery\api\v2\package\ Logon Method = Anonymous Logon User = Anonymous
C'è anche qualche aiuto testo incluso, suggerimenti basati sui permessi verifica e così, ma per quanto posso dire non c'è niente di sbagliato con i permessi.
+1. Si noti che il nome del gruppo è 'IIS_IUSRS' (con un' i' extra). – Cameron
non ci sono "autorizzazioni di modifica" quando si fa clic con il pulsante destro su un sito –