2012-08-10 28 views
25

Estoy tratando de usar la restauración del paquete NuGet desde la línea de comando en un servidor de compilación.Restauración del paquete NuGet - "La restauración del paquete está deshabilitada de manera predeterminada. Para dar su consentimiento, abra el cuadro de diálogo Opciones de Visual Studio"

nuget install myapp/packages.config 

Sin embargo, me sale el siguiente mensaje de error:

paquete de restauración está desactivado por defecto. Para dar su consentimiento, abra el cuadro de diálogo Opciones de Visual Studio.

¿Cómo se supone que voy a hacer eso sin instalar VS2010 en el servidor de compilación? (No, no estoy haciendo eso). ¿Hay una configuración de registro o algo así? ¿Cómo determina NuGet que la restauración del paquete está deshabilitada? De hecho, ¿por qué es esto algo que incluso les importaría deshabilitar por defecto?

Respuesta

19

Esto sucede actualmente porque NuGet Package Restore necesita consentimiento antes de descargar paquetes y con la forma actual en que funcionan las cosas, no hay forma de discernir a un usuario que llame "nuget.exe install packages.config" desde el paquete de restauración. más detalles sobre el consentimiento aquí: http://blog.nuget.org/20120518/package-restore-and-consent.html

NOTA: este problema deben fijarse la próxima semana.

Como solución temporal, puede dar su consentimiento estableciendo la variable de entorno EnableNuGetPackageRestore en true.

+2

Por alguna razón, ejecutar 'set EnableNuGetPackageRestore = true' en la línea de comandos (Windows 7) no funcionó pero estableciendo la variable de entorno en el Panel de control -> Configuración avanzada del sistema. Y aquellos que se preguntan qué valor es "verdadero" en el contexto de las variables de entorno, para mí '1' y' true' funcionaron. –

+0

@EmperorOrionii ¿Hiciste esto en tu servidor de compilación? –

+0

@MikeMarks ??? Sí, no, tal vez, no se aplica. No tengo servidor de compilación, un proyecto es un hobby. –

0

Compruebe la actualización de NuGet si está utilizando una versión anterior de Visual Studio. Eso funcionó para mí.

+0

Sí, notará que la pregunta se realizó en 2012. –

27

Otra forma es añadir

<packageRestore> 
    <add key="enabled" value="True" /> 
    <add key="automatic" value="True" /> 
</packageRestore> 

en el archivo% USERPROFILE% \ AppData \ Roaming \ NuGet \ nuget.config.

+1

Tenía habilitada la restauración de paquetes en Herramientas> Opciones> Configuración de NuGet PM, pero todavía obtenía el error en una solución. Agregué estas líneas (en el elemento de configuración raíz) y resolvió el problema. – Todd

+0

Si su configuración está vacía (por ejemplo, ), debe agregar la etiqueta de finalización, de modo que se convierta en: ... LRMAAX

1

Tengo uno hoy.

Tenía las opciones marcadas en Visual Studio 2013 pero todavía recibí el mensaje de error. Solución para establecer la variable de entorno trabajada, debe reiniciar Visual Studio después de agregar la variable de entorno

Cuestiones relacionadas