Il Package Restore di NuGet e la strage degli unicorni

Un commento di Ugo Lattanzi ad un mio post sulle modalità di Package Restore di NuGet mi ha fatto concludere che il senso del post non fosse del tutto chiaro e si prestasse ad equivoci che voglio fugare tornando brevemente sull'argomento.

Nel suo commento Ugo cita un post di David Ebbo, anche lui, come me ora, costretto a chiarire i dubbi scatenati da un suo precedente tweet in cui parlava delle modalità di Package Restore (evidentemente trattasi di argomento che si presta alle cattive interpretazioni).

Rifacendosi ad un tipico modo di dire inglese, David ammoniva gli sviluppatori a non abilitare il Package Restore sulle proprie solution pena la morte di un innocente gattino da qualche parte nel mondo. In molti si sono fermati lì e non hanno letto il resto del tweet che diceva "Imparate la nuova modalità!" ed hanno dedotto che fosse da evitare del tutto il Package Restore di NuGet.

David è così corso ai ripari con un successivo post (quello citato da Ugo) in cui ha chiarito che il riferimento era alla "vecchia" modalità (quella che si abilita selezionando la voce Enable NuGet Package Restore dal menu contestuale della solution), mentre non usare la "nuova" modalità di Package Restore – e quindi caricare i package sul proprio source control repository – è ancora peggio e corrisponde ad effettuare una strage di unicorni.

A scanso di equivoci schematizziamo la situazione:

  1. Il caricamento dei package utilizzati nel progetto all'interno del proprio source control repository (Team Foundation Server, Visual Studio Online o altro) va evitato come la peste.
  2. Per raggiungere questo obiettivo NuGet ha inizialmente implementato una modalità di Package Restore basata su MSBuild. "In mancanza di cavalli trottano gli asini" e quindi era una soluzione non ottimale ma comunque migliore della strage di unicorni del punto 1 al costo di far tirare le cuoia a qualche micetto.
  3. A partire dalla versione 2.7 è disponibile una nuova modalità che è abilitata automaticamente in Visual Studio e che è descritta nel mio post cui facevo prima riferimento. Per usare tale nuova modalità, approvata dal WWF e da Legambiente, è sufficiente… non fare nulla!
  4. Chiunque sia a conoscenza di amici o conoscenti che continuano ad utilizzare la vecchia modalità o Internet Explorer 6 è pregato di riportarlo sulla retta via.

Chi volesse approfondire l'argomento può consultare la documentazione sul sito di NuGet.

Happy coding!

«febbraio»
domlunmarmergiovensab
2627282930311
2345678
9101112131415
16171819202122
2324252627281
2345678