Paquetes de Nuget en TFS (u otro SCM)

Estoy estrenando Nuget para añadir el fantástico MvvmLight de Galasoft a uno de mis proyectos. Ya tenía su referencia, pero para actualizarla he decidido usar Nuget y dejar que me añada la referencia de nuevo. Tarda un poco en descargar (sospechoso), me añade las 2 referencias, todo muy bien, salvo cuando veo que para 2 dll que necesito (y que pesan juntas 31 Kb) me está añadiendo 10 Mb de archivos a TFS. Dentro de la carpeta packages/MvvmLight.3.0.0.29166 encuentro:

  • Las librerías para WPF 3.5SP1 y 4.0, Silverlight 3 y 4 y Windows Phone 7.
  • Un zip con snippets (al menos son sólo 6 Kb)
  • 5 zips con templates para Blend y VS2010 (¡4,72 Mb!)
  • Y el propio archivo nupkg original que lo contiene todo, que evidentemente son 5 Mb.

Creo que alguien no ha entendido bien el concepto de Nuget. O al menos ha querido aprovechar para meter todo el material posible, sin tener en cuenta que toda esta estructura va a parar… al SCM. En mi caso, con TFS, tras agregar el paquete usando Nuget todos los archivos de esa estructura se ponen pendientes de añadir a TFS. Lo cual es una auténtica barbaridad, ya que no los necesito, y además son archivos binarios, algunos de muchos megas. ¿Qué sentido tiene incluir todo eso en mi SCM? Pero tampoco puedo excluirlo, si no cuando otro puesto descargue el proyecto no encontrará las referencias.

Siguiendo el consejo de José F. Romaniello (aunque adaptado del .hgignore de Mercurial a las posibilidades de TFS), hago una inclusión de grano fino: sólo incluyo las 2 dll que son necesarias como referencia en mi proyecto, y no todo lo demás. Problema resuelto.

Aún así, no sé qué pasará cuando Nuget me pida actualizar la librería. ¿Dará error por estar protegida con TFS (sólo lectura)? Espero que no, que sepa desproteger los archivos apropiados, pero como todavía no he actualizado ninguna librería no sé qué pasará.

Mi conclusión es que aunque siempre he dudado si las dll deben estar bajo SCM o no, cada vez me convenzo más de que es la solución más lógica y menos dolorosa. Y pediré a Laurent Bugnion que suba MvvmLight a Nuget como paquetes individuales para cada tecnología, y que las templates las publique por separado, para evitar tener que limpiar después de incluir la referencia.

Anuncios
Esta entrada fue publicada en Nuget y etiquetada , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s