Note sulla versione di NuGet 2.6

Note | sulla versione di NuGet 2.5 NuGet 2.6.1 per Le note sulla versione di WebMatrix

NuGet 2.6 è stato rilasciato il 26 giugno 2013.

Funzionalità rilevanti nella versione

Supporto per Visual Studio 2013

NuGet 2.6 è la prima versione che fornisce supporto per Visual Studio 2013. Analogamente a Visual Studio 2012, l'estensione NuGet Gestione pacchetti è inclusa in ogni edizione di Visual Studio.

Per offrire il miglior supporto possibile per Visual Studio 2013, supportando ancora Visual Studio 2010 e Visual Studio 2012 e mantenendo le dimensioni dell'estensione il più piccolo possibile, stiamo producendo un'estensione separata per Visual Studio 2013, mentre l'estensione originale continua a essere destinata sia a Visual Studio 2010 che a 2012.

A partire da NuGet 2.6, verranno pubblicate due estensioni come indicato di seguito:

  1. Gestione pacchetti NuGet (si applica a Visual Studio 2010 e 2012)
  2. Gestione pacchetti NuGet per Visual Studio 2013

Con questa suddivisione, il pulsante "Installa NuGet" della home page nuget.org consente di passare alla pagina di installazione di NuGet , in cui è possibile trovare altre informazioni sull'installazione dei diversi client NuGet.

Supporto per la trasformazione Web.config XDT

Una delle funzionalità più richieste per il client NuGet è stata quella di supportare trasformazioni XML più potenti usando il motore di trasformazione XDT usato nelle trasformazioni della configurazione di compilazione di Visual Studio.

Nel mese di aprile 2013 sono stati annunciati due grandi annunci relativi al supporto NuGet per XDT. La prima era che la libreria XDT stessa veniva rilasciata come pacchetto NuGet e [open sourced on CodePlex](http://xdt.codeplex.com/). Questo passaggio ha consentito l'uso libero del motore XDT da parte di altri software open source, incluso il client NuGet. Il secondo annuncio è stato il piano per supportare l'uso del motore XDT per le trasformazioni nel client NuGet. NuGet 2.6 include questa integrazione.

Funzionamento

Per sfruttare il supporto XDT di NuGet, i meccanismi sono simili a quelli della funzionalità di trasformazione della configurazione corrente. I file di trasformazione vengono aggiunti alla cartella di contenuto del pacchetto. Tuttavia, mentre le trasformazioni di configurazione usano un singolo file per l'installazione e la disinstallazione, le trasformazioni XDT consentono un controllo granulare su entrambi questi processi usando i file seguenti:

  • Web.config.install.xdt
  • Web.config.uninstall.xdt

NuGet usa inoltre il suffisso di file per determinare il motore da eseguire per le trasformazioni, quindi i pacchetti che usano il file web.config.transforms esistente continueranno a funzionare. Le trasformazioni XDT possono essere applicate anche a qualsiasi file XML (non solo web.config), quindi è possibile sfruttarlo per altre applicazioni nel progetto.

Operazioni che è possibile eseguire con XDT

Uno dei punti di forza più elevati di XDT è la sua sintassi semplice ma potente per modificare la struttura di un DOM XML. Invece di sovrapporre semplicemente una struttura fissa a un'altra struttura, XDT fornisce controlli per gli elementi corrispondenti in diversi modi, dal semplice nome dell'attributo corrispondente al supporto XPath completo. Dopo aver trovato un elemento o un set di elementi corrispondenti, XDT fornisce un set completo di funzioni per la modifica degli elementi, indipendentemente dall'aggiunta, dall'aggiornamento o dalla rimozione di attributi, dall'inserimento di un nuovo elemento in una posizione specifica o dalla sostituzione o dalla rimozione dell'intero elemento e dei relativi elementi figlio.

Configurazione a livello di computer

Uno dei punti di forza di NuGet è che suddivide un eseguibile o una libreria altrimenti di grandi dimensioni in un set di componenti modulari che possono essere integrati e gestiti in modo indipendente. Un effetto collaterale di questo, tuttavia, è che l'idea convenzionale di un prodotto o di una famiglia di prodotti diventa potenzialmente più frammentata. La funzionalità di origine del pacchetto personalizzata di NuGet offre un modo per organizzare i pacchetti; Tuttavia, le origini dei pacchetti personalizzate non sono individuabili autonomamente.

NuGet 2.6 estende la logica per la configurazione di NuGet eseguendo una ricerca nella gerarchia di cartelle nel percorso %ProgramData%/NuGet/Config. I programmi di installazione del prodotto possono aggiungere file di configurazione NuGet personalizzati in questa cartella per registrare un'origine pacchetto personalizzata per i prodotti. Inoltre, la struttura di cartelle supporta la semantica per prodotto, versione e anche SKU dell'IDE. Impostazioni da queste directory vengono applicate nell'ordine seguente con una strategia di precedenza "last in wins".

  1. %ProgramData%\NuGet\Config*.config
  2. %ProgramData%\NuGet\Config{IDE}*.config
  3. %ProgramData%\NuGet\Config{IDE}{Version}*.config
  4. %ProgramData%\NuGet\Config{IDE}{Version}{SKU}*.config

In questo elenco, il segnaposto {IDE} è specifico dell'IDE in cui è in esecuzione NuGet, quindi nel caso di Visual Studio sarà "VisualStudio". I segnaposto {Version} e {SKU} vengono forniti rispettivamente dall'IDE (ad esempio "11.0" e "WDExpress", "VWDExpress" e "Pro"). La cartella può quindi contenere molti file *.config diversi. Pertanto, l'azienda del componente ACME può, come parte del programma di installazione del prodotto, aggiungere un'origine pacchetto personalizzata che sarà visibile solo nelle versioni Professional e Ultimate di Visual Studio 2012 creando il percorso di file seguente:

%ProgramData%\NuGet\Config\VisualStudio\11.0\Pro\acme.config

Anche se la struttura di cartelle semplifica i programmi come i programmi di installazione software per aggiungere origini di pacchetti a livello di computer alla configurazione di NuGet, la finestra di dialogo di configurazione NuGet è stata aggiornata anche per consentire la registrazione delle origini del pacchetto come specifiche dell'utente (ad esempio registrate in %AppData%/NuGet/NuGet.Config) o a livello di computer.

Questa funzionalità viene usata da Visual Studio 2013, in cui è installato un file in:

%ProgramData%\NuGet\Config\VisualStudio\12.0\Microsoft.VisualStudio.config

All'interno di questo file viene configurata una nuova origine del pacchetto denominata ".NET Framework Packages".

NuGet Config File machine wide settings

Man mano che il numero di pacchetti serviti dalla raccolta NuGet continua a crescere a un ritmo esponenziale, il miglioramento della ricerca rimane sempre all'inizio dell'elenco di priorità NuGet. Una delle funzionalità pianificate per NuGet è la ricerca contestuale, ovvero NuGet userà informazioni sulla versione e sullo SKU di Visual Studio in uso e sul tipo di progetto che si sta creando come criteri per determinare la pertinenza dei potenziali risultati della ricerca.

A partire da NuGet 2.6, ogni volta che viene installato un pacchetto, il contesto per l'installazione viene registrato come parte dei dati dell'operazione di installazione. Le ricerche inviano anche le stesse informazioni di contesto, che consentiranno a NuGet Gallery di migliorare i risultati della ricerca in base alle tendenze di installazione contestuali. Un aggiornamento futuro alla raccolta NuGet consentirà di aumentare la rilevanza sensibile al contesto.

Rilevamento di installazioni dirette e installazioni delle dipendenze

Gli autori di pacchetti si basano sempre di più sulle statistiche dei pacchetti fornite nella raccolta NuGet. Un punto dati mancante significativo richiesto dagli autori è una differenziazione tra le installazioni dirette dei pacchetti e le installazioni delle dipendenze. Fino ad ora, il client NuGet non ha inviato alcun contesto intorno all'operazione di installazione per se lo sviluppatore ha installato direttamente il pacchetto o se è stato installato per soddisfare una dipendenza. A partire da NuGet 2.6, i dati verranno ora inviati per l'operazione di installazione. Le statistiche dei pacchetti nella raccolta NuGet esporranno tali dati come operazioni di installazione separate, con un suffisso "-Dependency".

  • Installare
  • Install-Dependency
  • Aggiornamento
  • Update-Dependency
  • Reinstallazione
  • Reinstalla-Dipendenza

Oltre al nome di operazione diverso, viene registrato anche l'ID del pacchetto dipendente per l'installazione. Un aggiornamento futuro della raccolta NuGet esporrà i dati all'interno dei report, consentendo agli autori di pacchetti di comprendere appieno il modo in cui gli sviluppatori installano i pacchetti.

Correzioni di bug

NuGet 2.6 include anche diverse correzioni di bug. Per un elenco completo degli elementi di lavoro corretti in NuGet 2.6, visualizzare .[NuGet Issue Tracker for this release](https://nuget.codeplex.com/workitem/list/advanced?keyword=&status=Closed&type=All&priority=All&release=NuGet%202.6&assignedTo=All&component=All&sortField=LastUpdatedDate&sortDirection=Descending&page=0&reasonClosed=All)