2012-09-17 21 views
6

He habilitado NuGet Package Restore en mi solución. Estoy usando Nuget.exe versión 2.0.30828.5. Para paquetes que están en la alimentación pública normal, NuGet Package Restore funciona bien. Es decir, si no hay nada en el directorio "Paquetes" y mi caché NuGet local (C: \ Users \ {username} \ AppData \ Local \ NuGet \ Cache) es clara, NPR funciona perfectamente.Restauración de paquete NuGet No se pueden solicitar credenciales con feed personalizado

Sin embargo, cuando se trata de utilizar NPR para un paquete en nuestra alimentación personalizado (alimentación personalizada tiene la autenticación básica) obtenemos la siguiente:

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. 

Cuando miro el código NuGet, así como Nuget descompilación .exe para encontrar la cadena "No se pueden solicitar las credenciales. Consulte la documentación de ayuda de NuGet para conocer las formas de especificar las credenciales" Lo veo allí, pero francamente, no puedo determinar quién está utilizando ese mensaje de error.

Cuando agregamos el paquete (ya sea desde la interfaz de usuario NuGet o la consola del Administrador de paquetes), solicita credenciales y funciona bien. Esto es solo un problema en la Restauración de paquetes.

Me trataron de ejecutar este comando:

NuGet.exe source Update -Name {feedname} -UserName {myusername} -Password {mypassword} 

pero consigue el mismo resultado.

¿Alguien sabe cómo puedo especificar las credenciales de un feed NuGet personalizado usando Basic auth para NuGet Package Restore?

ACTUALIZACIÓN 9/18/2012

que tienen una actualización sobre el tema. Observé que cuando ejecuté el comando fuente nuget.exe Actualizar ..., agregó la sección al archivo NuGet.config que estaba en la carpeta .nuget local a mi solución. Luego ejecuté procmon.exe mientras ejecutaba la compilación. ¡Noté que este archivo no se estaba revisando! En su lugar, buscaba el archivo NuGet.config en el directorio "C: \ Users {username} \ AppData \ Roaming \ NuGet". Luego copié/pegué la sección del archivo local NuGet.config en el archivo NuGet.config en el directorio \ AppData \ Roaming \ NuGet, ¡y funcionó!

Entonces ... la pregunta es, ¿cuál es la mejor práctica para este proceso?

Respuesta

6

Tengo esto funcionando ahora. Esto es lo que hice para lograr que funcione. Primero, aparece el comando:

NuGet.exe source Update -Name {feedname} -UserName {myusername} -Password {mypassword} 

ES la manera correcta de hacerlo. La advertencia es que, cuando ejecuta el comando "nuget.exe source Update", nuget.exe buscará un archivo NuGet.config en el mismo directorio que el nuget.exe que se está ejecutando, si existe. IF si existe, almacenará los cambios allí. Si existe NOT existe, almacenará los cambios en el archivo NuGet.config ubicado en el directorio% AppData% \ NuGet.

La advertencia adicional es que, cuando el paquete de restauración será ejecutado como parte de la construcción, que única mira el archivo en el directorio NuGet.config% AppData% \ NuGet e ignora el archivo que se encuentra en NuGet.config el mismo directorio de nuget.exe que se está ejecutando (no estoy seguro si esto es un error o intencional).

Por lo tanto, debe ejecutar este comando usando un nuget.exe que está en un directorio que hace no tiene un archivo NuGet.config para asegurar que los cambios se almacenan en el archivo NuGet.config correcto en el directorio% AppData% \ NuGet.

+0

Según tengo entendido, también hay una opción para proporcionar un archivo de configuración a Nuget.exe, por lo que podría intentar ser más explícito al llamarlo para que intente y use ese archivo, pero quizás se ignore para algunos comandos. – dragon788

Cuestiones relacionadas