Note sulla versione di NuGet 1.8

Note | sulla versione di NuGet 1.7 NuGet 2.0

NuGet 1.8 è stato rilasciato il 23 maggio 2012.

Problema di installazione noto

Se si esegue VS 2010 SP1, potrebbe verificarsi un errore di installazione quando si tenta di aggiornare NuGet se è installata una versione precedente.

La soluzione alternativa consiste nel disinstallare semplicemente NuGet e quindi installarlo dalla raccolta di estensioni di Visual Studio. Per https://support.microsoft.com/kb/2581019 altre informazioni, vedere o passare direttamente all'hotfix di Visual Studio.

Nota: se Visual Studio non consente di disinstallare l'estensione (il pulsante Disinstalla è disabilitato), è probabile che sia necessario riavviare Visual Studio usando "Esegui come Amministrazione istrator".

NuGet 1.8 Incompatibile con Windows XP, hotfix pubblicato

Poco dopo il rilascio di NuGet 1.8, si è appreso che una modifica della crittografia in 1.8 ha interrotto gli utenti in Windows XP.

Da allora è stato rilasciato un hotfix che risolve questo problema. Aggiornando NuGet tramite la raccolta di estensioni di Visual Studio, si riceve questo hotfix.

Funzionalità

Pacchetti satellite per le risorse localizzate

NuGet 1.8 supporta ora la possibilità di creare pacchetti separati per le risorse localizzate, in modo analogo alle funzionalità di assembly satellite di .NET Framework. Un pacchetto satellite viene creato nello stesso modo di qualsiasi altro pacchetto NuGet con l'aggiunta di alcune convenzioni:

  • L'ID pacchetto satellite e il nome file devono includere un suffisso che corrisponde a una delle stringhe delle impostazioni cultura standard usate da .NET Framework.
  • .nuspec Nel file, il pacchetto satellite deve definire un elemento lingua con la stessa stringa delle impostazioni cultura usata nell'ID
  • Il pacchetto satellite deve definire una dipendenza nel relativo file nel .nuspec pacchetto principale, che è semplicemente il pacchetto con lo stesso ID meno il suffisso della lingua. Il pacchetto principale deve essere disponibile nel repository per un'installazione corretta.

Per installare un pacchetto con risorse localizzate, uno sviluppatore seleziona in modo esplicito il pacchetto localizzato dal repository. Attualmente, la raccolta NuGet non concede alcun tipo di trattamento speciale ai pacchetti satellite.

Package manager dialog with localized pacakges

Poiché il pacchetto satellite elenca una dipendenza dal pacchetto principale, entrambi i pacchetti satellite e core vengono inseriti nella cartella pacchetti NuGet e installati.

Packages folder with localized packages

Inoltre, durante l'installazione del pacchetto satellite, NuGet riconosce anche la convenzione di denominazione delle stringhe delle impostazioni cultura e quindi copia l'assembly di risorse localizzato nella sottocartella corretta all'interno del pacchetto principale in modo che possa essere selezionato da .NET Framework.

Core package folder with copied resource folder

Un bug esistente da notare con i pacchetti satellite è che NuGet non copia le risorse localizzate nella cartella per i bin progetti del sito Web. Questo problema verrà risolto nella versione successiva di NuGet.

Per un esempio completo che illustra come creare e usare pacchetti satellite, vedere https://github.com/NuGet/SatellitePackageSample.

In NuGet 1.8 sono state definite le basi per supportare un vincolo importante sul ripristino dei pacchetti per proteggere la privacy degli utenti. Questo vincolo richiede agli sviluppatori di compilare progetti e soluzioni che usano il ripristino dei pacchetti per fornire esplicitamente il consenso per il ripristino dei pacchetti online per scaricare i pacchetti da origini di pacchetti configurate.

Esistono due modi per fornire questo consenso. Il primo è disponibile nella finestra di dialogo di configurazione di Gestione pacchetti, come illustrato di seguito. Questo metodo è destinato principalmente alle macchine per sviluppatori.

Package manager configuration dialog

Il secondo metodo consiste nell'impostare la variabile di ambiente "EnableNuGetPackageRestore" sul valore "true". Questo metodo è destinato a computer automatici, ad esempio ci o server di compilazione.

Ora, come indicato in precedenza, sono state disposte solo le basi per questa funzionalità in NuGet 1.8. In pratica, ciò significa che, mentre è stata aggiunta tutta la logica per abilitare la funzionalità, non è attualmente applicata in questa versione. Verrà tuttavia abilitata nella versione successiva di NuGet, pertanto è opportuno renderla consapevole il prima possibile in modo da poter configurare gli ambienti in modo appropriato e pertanto non essere interessati quando si avvia l'applicazione del vincolo di consenso.

Per altre informazioni, vedere il post di blog del team su questa funzionalità.

Miglioramenti delle prestazioni di nuget.exe

Modificando il comando di installazione per scaricare e installare i pacchetti in parallelo, NuGet 1.8 offre miglioramenti importanti delle prestazioni ai nuget.exe e dal ripristino del pacchetto di estensione. I test di alto livello mostrano che le prestazioni per l'installazione di 6 pacchetti in un progetto migliorano di circa il 35% in NuGet 1.8. L'aumento del numero di pacchetti a 25 mostra un miglioramento delle prestazioni di circa il 60%.

Correzioni di bug

NuGet 1.8 include alcune correzioni di bug con particolare attenzione alla console di gestione pacchetti e al flusso di lavoro di ripristino dei pacchetti, in particolare in relazione al consenso per il ripristino dei pacchetti e all'integrazione di Windows 8 Express. Per un elenco completo degli elementi di lavoro corretti in NuGet 1.8, visualizzare .[NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=Closed&type=All&priority=All&release=NuGet%201.8&assignedTo=All&component=All&sortField=Votes&sortDirection=Descending&page=0)