Ho abilitato NuGet Package Restore nella mia soluzione. Sto usando la versione 2.0.30828.5 di nuget.exe. Per i pacchetti che si trovano nel normale feed pubblico, NuGet Package Restore funziona correttamente. Cioè, se non c'è nulla nella directory "Packages" e la mia cache locale NuGet (C: \ Users \ {username} \ AppData \ Local \ NuGet \ Cache) è chiara, NPR funziona perfettamente.Ripristino pacchetto NuGet Impossibile richiedere credenziali con feed personalizzato
Tuttavia, quando stiamo cercando di utilizzare NPR per un pacchetto nel nostro feed personalizzato (feed personalizzato ha l'autenticazione di base) otteniamo questo:
EXEC : warning : Unable to prompt for credentials. Consult NuGet's help documentation for ways to specify credentials.
c:\<localpath>\.nuget\nuget.targets(80,9): error : Unable to find version '2.0.1.0' of package '<packageName>'.
c:\<localpath>\.nuget\nuget.targets(80,9): error MSB3073: The command ""c:\<localpath>\.nuget\nuget.exe" install "c:\<localpath>\packages.config" -source "" -RequireConsent -o "c:\<localpath>\packages"" exited with code 1.
Quando guardo il codice NuGet così come decompilazione NuGet .exe per trovare la stringa "Impossibile richiedere le credenziali. Consulta la documentazione della guida di NuGet per i modi in cui specificare le credenziali" La vedo lì, ma sinceramente, non sono in grado di determinare chi sta utilizzando quel messaggio di errore.
Quando aggiungiamo il pacchetto (dall'interfaccia utente NuGet o dalla console di Gestione pacchetti), richiede le credenziali e funziona correttamente. Questo è solo un problema su Package Restore.
ho provato a fare funzionare questo comando:
NuGet.exe source Update -Name {feedname} -UserName {myusername} -Password {mypassword}
ma ottiene lo stesso risultato.
Qualcuno sa come posso specificare le credenziali per un feed NuGet personalizzato utilizzando l'autenticazione di base per NuGet Package Restore?
UPDATE 9/18/2012
Ho un aggiornamento sulla questione. Ho notato che quando eseguivo il comando di aggiornamento sorgente nuget.exe ..., aggiungeva la sezione al file NuGet.config che si trovava nella cartella .nuget locale alla mia soluzione. Ho quindi eseguito procmon.exe durante l'esecuzione della build a notato che questo file non è stato visto! Invece stava cercando il file NuGet.config nella directory "C: \ Users {username} \ AppData \ Roaming \ NuGet". Quindi copio/incollato la sezione dal file NuGet.config locale nel file NuGet.config nella directory \ AppData \ Roaming \ NuGet e ha funzionato!
Quindi ... la domanda è, qual è la corretta best practice per questo processo?
La mia comprensione è che esiste anche un'opzione per fornire un file di configurazione a Nuget.exe, così si potrebbe tentare di essere più espliciti quando si chiama per provare e utilizzare quel file, ma forse viene ignorato per alcuni comandi. – dragon788