Note sulla versione di NuGet 1.4
Note | sulla versione di NuGet 1.3 NuGet 1.5
NuGet 1.4 è stato rilasciato il 17 giugno 2011.
Funzionalità
Miglioramenti apportati al pacchetto di aggiornamento
NuGet 1.4 introduce numerosi miglioramenti al comando Update-Package, rendendo più semplice mantenere i pacchetti nella stessa versione in più progetti in una soluzione. Ad esempio, quando si aggiorna un pacchetto alla versione più recente, è molto comune voler aggiornare tutti i progetti con tale pacchetto alla stessa verisione.
Il Update-Package
comando rende ora più semplice:
Aggiornare tutti i pacchetti in un singolo progetto
Update-Package -Project MvcApplication1
Aggiornare un pacchetto in tutti i progetti
Update-Package PackageId
Aggiornare tutti i pacchetti in tutti i progetti
Update-Package
Eseguire un aggiornamento "sicuro" su tutti i pacchetti
Il -Safe
flag vincola gli aggiornamenti solo alle versioni con lo stesso componente della versione principale e secondaria. Ad esempio, se è installata la versione 1.0.0 di un pacchetto e le versioni 1.0.1, 1.0.2 e 1.1 sono disponibili nel feed, il -Safe
flag aggiorna il pacchetto alla versione 1.0.2. L'aggiornamento senza il -Safe
flag aggiorna il pacchetto alla versione più recente, 1.1.
Update-Package -Safe
Gestione dei pacchetti a livello di soluzione
Prima di NuGet 1.4, l'installazione di un pacchetto in più progetti era complessa tramite la finestra di dialogo. Richiedeva l'avvio della finestra di dialogo una sola volta per ogni progetto.
NuGet 1.4 aggiunge il supporto per l'installazione/disinstallazione/aggiornamento di pacchetti in più progetti contemporaneamente. È sufficiente avviare il comando facendo clic con il pulsante destro del mouse sulla soluzione e scegliendo l'opzione di menu Gestisci pacchetti NuGet.
Si noti che nella barra del titolo della finestra di dialogo viene visualizzato il nome della soluzione, non il nome di un progetto. Le operazioni del pacchetto forniscono ora un elenco di caselle di controllo con l'elenco dei progetti a cui deve essere applicata l'operazione.
Per altri dettagli, vedere l'argomento relativo alla gestione dei pacchetti per la soluzione.
Vincolare gli aggiornamenti alle versioni consentite
Per impostazione predefinita, quando si esegue il Update-Package
comando in un pacchetto (o si aggiorna il pacchetto tramite la finestra di dialogo), verrà aggiornato alla versione più recente nel feed. Con il nuovo supporto per l'aggiornamento di tutti i pacchetti, possono verificarsi casi in cui si vuole bloccare un pacchetto in un intervallo di versioni specifico. Ad esempio, è possibile sapere in anticipo che l'applicazione funzionerà solo con la versione 2.* di un pacchetto, ma non con la versione 3.0 e successive. Per impedire l'aggiornamento accidentale del pacchetto a 3, NuGet 1.4 aggiunge il supporto per limitare l'intervallo di versioni a cui è possibile aggiornare i pacchetti modificando manualmente il packages.config
file usando il nuovo allowedVersions
attributo.
Nell'esempio seguente viene illustrato ad esempio come bloccare il SomePackage
pacchetto con l'intervallo di versione 2.0 - 3.0 (esclusivo).
L'attributo allowedVersions
accetta valori usando il formato dell'intervallo di versioni.
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="SomePackage" version="2.1.0" allowedVersions="[2.0, 3.0)" />
</packages>
Si noti che nella versione 1.4 il blocco di un pacchetto in un intervallo di versioni specifico deve essere modificato a mano. In NuGet 1.5 si prevede di aggiungere il supporto per posizionare questo intervallo tramite il Install-Package
comando .
Visualizzatore di pacchetti
Il nuovo visualizzatore di pacchetti, avviato tramite l'opzione di menu Strumenti ->Libreria Gestione pacchetti ->Visualizzatore pacchetti, consente di visualizzare facilmente tutti i progetti e le relative dipendenze del pacchetto all'interno di una soluzione.
Nota importante: questa funzionalità sfrutta il supporto DGML in Visual Studio. La creazione della visualizzazione è supportata solo in Visual Studio Ultimate. La visualizzazione di un diagramma DGML è supportata solo in Visual Studio Premium o versione successiva.
Controllo aggiornamento automatico per la finestra di dialogo NuGet
Alcune versioni di NuGet introducono nuove funzionalità espresse tramite il .nuspec
file che non sono comprese dalle versioni precedenti della finestra di dialogo NuGet.
Un esempio è l'introduzione in NuGet 1.4 per specificare gli assembly del framework.
Per questo motivo, è importante usare la versione più recente di NuGet per assicurarsi di poter usare i pacchetti sfruttando le funzionalità più recenti.
Per rendere più visibili gli aggiornamenti a NuGet, la finestra di dialogo NuGet contiene la logica da evidenziare quando è disponibile una versione più recente.
Nota: il controllo viene effettuato solo se la scheda Online è stata selezionata nella sessione corrente.
Per disattivare il controllo automatico per gli aggiornamenti, passare alla finestra di dialogo Impostazioni NuGet e deselezionare Verifica automatica della disponibilità di aggiornamenti.
Questa funzionalità è stata effettivamente aggiunta in NuGet 1.3, ma ovviamente non sarebbe visibile fino a quando non è stato reso disponibile un aggiornamento alla versione 1.3, ad esempio NuGet 1.4.
Miglioramenti della finestra di dialogo Gestione pacchetti
- Nomi di menu migliorati: le opzioni di menu per avviare la finestra di dialogo sono state rinominate per maggiore chiarezza. L'opzione di menu è ora Gestisci pacchetti NuGet.
- Riquadro dei dettagli che mostra la data dell'aggiornamento più recente: la finestra di dialogo NuGet visualizza la data dell'aggiornamento più recente nel riquadro dei dettagli per un pacchetto quando è selezionata la scheda Online o Aggiornamenti.
- Elenco di tag visualizzati: nella finestra di dialogo Nuget vengono visualizzati i tag.
Miglioramenti di PowerShell
- Script di PowerShell firmati: NuGet include script di PowerShell firmati che consentono l'utilizzo in ambienti più restrittivi.
- Richiesta di supporto: la console Gestione pacchetti supporta ora la richiesta tramite i
$host.ui.Prompt
comandi e$host.ui.PromptForChoice
. - Nomi origine pacchetto: specificare il nome di un'origine del pacchetto è supportato quando si specifica un'origine del pacchetto usando il
-Source
flag .
miglioramenti della riga di comando di nuget.exe
- Comandi personalizzati NuGet: nuget.exe è estendibile tramite comandi personalizzati tramite MEF.
- Flusso di lavoro più semplice per la creazione di pacchetti di simboli: il
-Symbols
flag può essere applicato a una normale struttura di cartelle basata su convenzioni creando un pacchetto di simboli includendo solo l'origine e.pdb
i file all'interno della cartella. - Specifica di più origini: il
NuGet install
comando supporta la specifica di più origini usando punti e virgola come delimitatore o specificando-Source
più volte. - Supporto per l'autenticazione proxy: NuGet 1.4 aggiunge il supporto per richiedere le credenziali utente quando si usa NuGet dietro un proxy che richiede l'autenticazione.
- nuget.exe modifica che causa un'interruzione dell'aggiornamento:
-Self
il flag è ora necessario per nuget.exe aggiornare se stesso.nuget.exe Update
ora accetta un percorso delpackages.config
file e tenterà di aggiornare i pacchetti. Si noti che questo aggiornamento è limitato in quanto non sarà: ** Aggiornare, aggiungere, rimuovere il contenuto nel file di progetto. ** Eseguire script di PowerShell all'interno del pacchetto.
Supporto del server NuGet per il push di pacchetti tramite nuget.exe
NuGet include un modo semplice per ospitare un repository NuGet leggero basato sul Web tramite il NuGet.Server
pacchetto NuGet. Con NuGet 1.4, il server leggero supporta il push e l'eliminazione di pacchetti tramite nuget.exe.
La versione più recente di NuGet.Server
aggiunge un nuovo appSetting
oggetto denominato apiKey
. Quando la chiave viene omessa o lasciata vuota, il push dei pacchetti nel feed è disabilitato. L'impostazione di apiKey su un valore (idealmente una password complessa) consente il push dei pacchetti tramite nuget.exe.
<appSettings>
<!-- Set the value here to allow people to push/delete packages from the server.
NOTE: This is a shared key (password) for all users. -->
<add key="apiKey" value="" />
</appSettings>
Supporto per Windows Telefono Tools Mango Edition
NuGet è ora supportato nella versione finale candidata di Windows Telefono Tools per Mango. Attualmente, Windows Telefono Tools non dispone del supporto per Gestione estensioni di Visual Studio per installare NuGet per Windows Telefono Tools, potrebbe essere necessario scaricare ed eseguire manualmente VSIX.
Per disinstallare NuGet per Windows Telefono Tools, eseguire il comando seguente.
vsixinstaller.exe /uninstall:NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5
Correzioni di bug
NuGet 1.4 ha risolto un totale di 88 elementi di lavoro. 71 di questi sono stati contrassegnati come bug.
Per un elenco completo degli elementi di lavoro corretti in NuGet 1.4, visualizzare .[NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=All&type=All&priority=All&release=NuGet%201.4&assignedTo=All&component=All&sortField=LastUpdatedDate&sortDirection=Descending&page=0)
Correzioni di bug che vale la pena notare:
[Issue 603](http://nuget.codeplex.com/workitem/603)
: le dipendenze dei pacchetti tra repository diversi vengono risolte correttamente quando si specifica un'origine del pacchetto specifica.[Issue 1036](http://nuget.codeplex.com/workitem/1036)
: l'aggiuntaNuGet Pack SomeProject.csproj
a un evento post-compilazione non causa più un ciclo infinito.[Issue 961](http://nuget.codeplex.com/workitem/961)
:-Source
flag supporta i percorsi relativi.
Aggiornamento nuGet 1.4
Poco dopo il rilascio di NuGet 1.4, sono stati rilevati alcuni problemi importanti da risolvere. Il numero di versione specifico di questo aggiornamento alla versione 1.4 è 1.4.20615.9020.
Correzioni di bug
[Issue 1220](http://nuget.codeplex.com/workitem/1220)
: Update-Package non viene eseguitoinstall.ps1
/uninstall.ps1
in tutti i progetti quando è presente più di un progetto[Issue 1156](http://nuget.codeplex.com/workitem/1156)
: Gestione pacchetti Consol bloccato in W2K3/XP (quando PowerShell 2 non è installato)
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per