2011-04-04 14 views
6

¡Buen día!Nuget uninstall packages vs SVN working copy

Estoy empezando con NuGet 1.2 en VS2010 Express. Uso SVN para mis proyectos (sin integración en VS, solo TortoiseSVN). La pregunta es: parece que NuGet crea la carpeta /packages/ en la raíz de la solución. Parece que al desinstalar un paquete, NuGet eliminará la carpeta del paquete. Esto romperá la copia de trabajo SVN.

¿Alguna guía sobre SVN y NuGet trabajando en conjunto?

¡Gracias de antemano!

actualización: no quiero decir que se elimina toda la carpeta /packages/, quiero decir que, por ejemplo, cuando se actualiza a T4MVC 06/02/45 carpeta /packages/T4MVC.2.6.44 (junto con la carpeta .svn interior) será retirado, siendo este romper copia de trabajo SVN.

Actualización 2: Como he comprobado - NuGet no elimina las carpetas si algo que no pertenece al paquete está dentro de él (.svn carpeta en mi caso). Entonces, si prefiere almacenar packages en SVN como yo, después de la actualización, debe eliminar la carpeta de la versión anterior del paquete de SVN.

+0

Oh Dios, eso es horrible. Tal vez esto debería ser informado al equipo NuGet. Si queda algo en el directorio de paquetes, NuGet debería dejarlo allí. O al menos fallar con gracia. –

+0

Espera, creo que ya está allí: issue [# 810] (http://nuget.codeplex.com/workitem/810). –

+0

Compruebe la actualización anterior – artvolk

Respuesta

7

Hay una forma de ejecutar NuGet sin consultar la Carpeta de paquetes. Simplemente excluiría toda la carpeta de SVN y seguiría los pasos descritos en la publicación de David Ebbo: http://blog.davidebbo.com/2011/03/using-nuget-without-committing-packages.html

+0

El problema es que soy uno de los que "crean una carpeta 'Lib' o 'ExternalDependencies', vuelcan los binarios y los comprometen con el control de código fuente para permitir que otros compilen". Solo quiero comprometer la carpeta Paquetes, pero parece que la primera actualización del paquete romperá mi copia de trabajo :(¿Dejará NuGet el directorio de la versión del paquete intacto si encuentra '.svn' dentro de él? – artvolk

+1

No borramos la carpeta si hay archivos adicionales en la carpeta por lo que tener una carpeta .svn allí nos causaría no eliminar la carpeta. Lo que debería ser menos doloroso es no registrar la carpeta de paquetes y hacer que las personas ejecuten un comando para instalar paquetes antes pueden construir. La publicación incluso tiene una manera de agregarlo a MSbuild por lo que es simplemente mágico. –

+0

Prefiero mantener todas las dependencias en SVN por si acaso cuando estoy fuera de línea, pero tengo acceso al servidor SVN. Me he controlado yo mismo - NuGet no elimina carpetas de paquetes anteriores con '.svn' adentro. – artvolk