Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Note sulla versione di NuGet 2.9 RC | Note sulla versione beta di NuGet 3.0
NuGet 3.0 Preview è stato rilasciato il 12 novembre 2014 come parte della versione di Visual Studio 2015 Preview. È stata rilasciata l'anteprima di NuGet 3.0. Questa è una versione importante per noi (anche se un'anteprima) e siamo lieti di iniziare a ricevere commenti e suggerimenti sulle modifiche.
Visual Studio 2012+
Questa versione di Anteprima di NuGet 3.0 è inclusa in Visual Studio 2015 Preview. Microsoft sta lavorando per rilasciare le versioni di anteprima di Visual Studio 2012 e Visual Studio 2013 a breve. In precedenza era stato condiviso lo scopo di interrompere gli aggiornamenti per Visual Studio 2010 ed è stata presa una decisione difficile.
Nuova interfaccia utente
La prima cosa che si nota su NuGet 3.0 Preview è la nuova interfaccia utente. Non è più un dialogo modale; è ora una finestra completa del documento di Visual Studio. In questo modo è possibile aprire l'interfaccia utente per più progetti (e/o la soluzione) contemporaneamente, rimuovere la finestra da un altro monitor, ancorarla comunque, ecc.
Oltre alle differenze di usabilità a causa dell'abbandono del dialogo modale, abbiamo anche molte nuove funzionalità nella nuova interfaccia utente.
Selezione della versione
Forse la funzionalità più richiesta dell'interfaccia utente consiste nel consentire la selezione della versione per l'installazione del pacchetto e l'aggiornamento. Questa opzione è ora disponibile.
Indipendentemente dall'installazione o dall'aggiornamento di un pacchetto, l'elenco a discesa della versione consente di visualizzare tutte le versioni disponibili per il pacchetto, con alcune versioni rilevanti alzate di livello all'inizio dell'elenco per facilitare la selezione. Non è più necessario usare la console di PowerShell per ottenere versioni specifiche che non sono le più recenti.
Flussi di lavoro combinati installati/online/aggiornamenti
L'interfaccia utente precedente aveva 3 schede per Installato, Online e Aggiornamenti. I pacchetti elencati erano specifici per tali flussi di lavoro e le azioni disponibili erano specifiche anche per i flussi di lavoro. Anche se sembrava logico, abbiamo sentito che molti di voi spesso si confondevano per questa separazione.
È ora disponibile un'esperienza combinata, in cui è possibile installare, aggiornare o disinstallare un pacchetto indipendentemente dal modo in cui è stato selezionato il pacchetto. Per facilitare i flussi di lavoro specifici, è ora disponibile un menu a tendina Filtro che consente di filtrare i pacchetti visibili, ma le azioni disponibili per il pacchetto rimangono coerenti.
Usando il filtro "Installato", è quindi possibile visualizzare facilmente i pacchetti installati, che dispongono di aggiornamenti disponibili e quindi è possibile disinstallare o aggiornare il pacchetto modificando la selezione della versione per visualizzare la modifica dell'azione disponibile.
Consolidamento delle versioni
È comune che lo stesso pacchetto sia installato in più progetti all'interno della soluzione. A volte le versioni installate in ogni progetto possono divergere ed è necessario consolidare le versioni in uso. NuGet 3.0 Preview introduce una nuova funzionalità solo per questo scenario.
È possibile accedere alla finestra di gestione dei pacchetti a livello di soluzione facendo clic con il pulsante destro del mouse sulla soluzione e scegliendo Gestisci pacchetti NuGet per la soluzione. Da qui, se si seleziona un pacchetto installato in più progetti, ma con versioni diverse in uso, diventa disponibile una nuova azione "Consolida". Nella schermata seguente, Newtonsoft.Json è stato installato in SamplesClassLibrary con la versione 6.0.4 e installato in SamplesConsoleApp con la versione 5.0.4.
Ecco il flusso di lavoro per il consolidamento in una singola versione.
- Selezionare il
Newtonsoft.Jsonpacchetto nell'elenco - Scegli
Consolidatedal menuActiona discesa - Usare l'elenco
Versiona discesa per selezionare la versione da consolidare - Selezionare le caselle per i progetti che devono essere consolidati in tale versione (si noti che i progetti già presenti nella versione selezionata verranno disattivati)
- Fare clic sul
Consolidatepulsante per eseguire il consolidamento
Anteprime dell'operazione
Indipendentemente dall'operazione che si sta eseguendo,-install/update/uninstall--the new UI offre ora un modo per visualizzare in anteprima le modifiche che verranno apportate al progetto. Questa anteprima mostrerà tutti i nuovi pacchetti che verranno installati, i pacchetti che verranno aggiornati e i pacchetti che verranno disinstallati, insieme ai pacchetti che saranno invariati durante l'operazione.
Nell'esempio seguente è possibile notare che l'installazione di Microsoft.AspNet.SignalR comporterà alcune modifiche al progetto.
Opzioni di installazione
Usando la console di PowerShell, si è avuto il controllo su un paio di opzioni di installazione rilevanti. Queste funzionalità sono ora disponibili anche nell'interfaccia utente. È ora possibile controllare il comportamento di risoluzione delle dipendenze per la modalità di selezione delle versioni delle dipendenze.
È anche possibile specificare l'azione da eseguire quando i file di contenuto dei pacchetti sono in conflitto con i file già presenti nel progetto.
Scorrimento infinito
Ricevevamo spesso parecchi feedback sulla nostra interfaccia utente che utilizzava sia lo scorrimento sia il paging quando elencavamo i pacchetti. È stato piuttosto comune dover scorrere fino alla fine dell'elenco breve, fare clic sul numero di pagina successivo e quindi scorrere di nuovo. Con la nuova interfaccia utente, è stato implementato lo scorrimento infinito nell'elenco dei pacchetti in modo che sia sufficiente scorrere senza più paging.
Fallo funzionare, fallo veloce, fallo bello
Siamo entusiasti di presentarvi questa nuova interfaccia utente affinché possiate provarla. Durante questa fase di anteprima, abbiamo seguito il buon vecchio adagio di "Make it work, make it fast, make it pretty." In questa anteprima, siamo riusciti a realizzare gran parte di questo primo obiettivo: farlo funzionare. Sappiamo che non è ancora abbastanza veloce, e sappiamo che non è ancora abbastanza bella. Abbiate fiducia che lavoreremo su questi obiettivi da ora alla versione RC. Nel frattempo, è consigliabile ricevere commenti e suggerimenti sull'usabilità dei nuovi flussi di lavoro, operazioni e su come usare la nuova interfaccia utente.
Esistono un paio di funzioni rimosse rispetto all'interfaccia utente precedente. Uno di questi è stato intenzionale, e l'altro solo non è stato fatto in tempo.
Ricerca in Tutte le Origini dei Pacchetti
L'interfaccia utente precedente consentiva di eseguire una ricerca di pacchetti su tutte le origini dei pacchetti. Questa funzionalità è stata rimossa nell'interfaccia utente e non verrà restituita. Questa funzionalità è utilizzata per eseguire operazioni di ricerca su tutte le fonti dei pacchetti, intrecciare i risultati e tentare di ordinare i risultati in base alla selezione dell'ordinamento.
Abbiamo scoperto che la pertinenza della ricerca è davvero difficile da tessere insieme. Si potrebbe immaginare di eseguire una ricerca su Google e Bing e tessere i risultati insieme? Inoltre, questa funzionalità era lenta, facile da usare accidentalmente e riteniamo che fosse raramente utile. A causa dei problemi introdotti dalla funzionalità, sono stati ricevuti numerosi report sui bug che non potevano mai essere risolti.
Aggiorna tutto
È stato usato un pulsante "Aggiorna tutto" nell'interfaccia utente precedente che non è ancora presente nella nuova interfaccia utente. Questa funzionalità verrà riattivata per la versione RC.
Nuova API client/server
Oltre a tutte le nuove funzionalità nella nuova interfaccia utente di gestione dei pacchetti, abbiamo anche lavorato su alcuni dettagli di implementazione per il protocollo client/server di NuGet. Il lavoro svolto consiste nel creare "API v3" per NuGet, progettato per la disponibilità elevata per scenari critici, ad esempio il ripristino dei pacchetti e l'installazione di pacchetti. La nuova API si basa su REST e Hypermedia ed è stato selezionato JSON-LD come formato di risorsa.
Nella versione NuGet 3.0 Preview viene visualizzata una nuova sorgente pacchetto chiamata "preview.nuget.org" nel menu a discesa delle sorgenti pacchetto. Se si seleziona l'origine del pacchetto, si userà la nuova API invece di connettersi a nuget.org. L'origine di anteprima è stata resa disponibile nell'interfaccia utente mentre continuiamo a testare, rivedere e migliorare la nuova API. In NuGet 3.0 RC questa nuova origine del pacchetto basata su API v3 sostituirà l'origine del pacchetto "nuget.org" basata su v2.
Nonostante l'investimento che stiamo inserendo nell'API v3, tutte queste nuove funzionalità funzionano anche con il protocollo API v2 esistente, il che significa che funzioneranno anche con origini di pacchetti esistenti diverse da nuget.org.
Nuove funzionalità in arrivo
Tra ora e 3.0 RTM, stiamo lavorando anche su alcune nuove funzionalità NuGet fondamentali, oltre a ciò che viene visualizzato nell'interfaccia utente. Ecco un breve elenco di aree di investimento salienti:
- Microsoft collabora con i team di Visual Studio e MSBuild per integrare NuGet più profondamente nella piattaforma.
- Stiamo lavorando per abbandonare le convenzioni dei pacchetti in fase di installazione e applicare invece tali convenzioni in fase di creazione del pacchetto introducendo un nuovo manifesto del pacchetto "autorevole".
- Microsoft sta lavorando per effettuare il refactoring della codebase NuGet per rendere riutilizzabili i componenti client e server in domini diversi oltre la gestione dei pacchetti in Visual Studio.
- Si sta esaminando la nozione di "dipendenze private" in cui un pacchetto può indicare che ha dipendenze da altri pacchetti solo per i dettagli di implementazione e tali dipendenze non devono essere visualizzate come dipendenze di primo livello.
Resta sintonizzato
Tenere d'occhio il blog per altri progressi e annunci per NuGet 3.0.