Note sulla versione di Visual Studio 2015 Update 3
Condizioni di licenza della community per sviluppatori di blog di | Visual Studio |
Nota
Questa non è la versione più recente di Visual Studio. Per scaricare la versione più recente, vedere le note sulla versione corrente per Visual Studio 2019.
Versioni di Visual Studio 2015
È possibile visualizzare le note sulla versione per tutte le versioni di Visual Studio 2015:
- 27 giugno 2016 - Visual Studio 2015 Update 3
- 30 marzo 2016 - Visual Studio 2015 Update 2
- 30 novembre 2015 - Visual Studio 2015 Update 1
- 20 luglio 2015 - Visual Studio 2015
Scarica Visual Studio 2015
È possibile scaricare Visual Studio 2015 da My.VisualStudio.com. My.VisualStudio.com richiede una sottoscrizione Dev Essentials gratuita o una sottoscrizione di Visual Studio.
Visual Studio 2015 Update 3
Data di rilascio: 27 giugno 2016
Riepilogo delle novità di questa versione
- Strumenti per Apache Cordova
- Strumenti di analisi per sviluppatori
- Debug e diagnostica
- IDE di Visual Studio
- Strumenti per le app di Windows universale
- Strumenti di architettura
- Visual C++
- Node.js Tools per Visual Studio
- Web Developer Tools
- TypeScript
- C# r Visual Basic
- Team Explorer
- Xamarin
Versioni correlate
Novità di questa versione
Strumenti per Apache Cordova
Nota
La versione Node.js installata con Visual Studio 2015 Update 3 non è aggiornata. Per eseguire l'aggiornamento a una versione più recente, vedere altre informazioni su come aggiornare in modo sicuro Node.js.
Visual Studio 2015 Update 3 include strumenti per Apache Cordova Update 10, compresi i miglioramenti seguenti. e Update 10. Per le notizie più recenti sugli strumenti, visitare il Blog per sviluppatori su GitHub.
- È stato aggiunto il supporto per Cordova 6.1.1, la versione predefinita per i nuovi progetti.
- È stato ritirato il Registro di sistema del plug-in Cordova usato in Cordova 4. x, quindi ora è necessario un minimo di Cordova 5. x o versione successiva per aggiungere plug-in.
- L'elenco dei plug-in di base è stato aggiornato e ora include i plug-in per gli ambienti aziendali, ad esempio Intune, Azure Mobile Engagement, sicurezza e archiviazione locale di SQLite.
- Ora è possibile aggiungere i plug-in dalla finestra di progettazione di configurazione in base al nome del pacchetto npm o all'ID.
- Dalla finestra di progettazione di configurazione possono essere aggiunti anche i plug-in che richiedono parametri.
Developer Analytics Tools
Strumenti di analisi per sviluppatori 7.0.2 include i miglioramenti seguenti:
- Tendenze di Application Insights, uno strumento per il rilevamento di tendenze nei dati di telemetria dell'app.
- Telemetria delle eccezioni in CodeLens.
- Informazioni sui dati di telemetria di produzione aggiunte alle eccezioni in Strumenti di diagnostica.
- Supporto per l'aggiunta di Application Insights ai progetti ASP.NET Core RC2 da Visual Studio.
- Eventi di Strumenti di diagnostica per i progetti ASP.NET 5 RC1 e ASP.NET Core RC2.
- Aggiornamenti automatici di Ricerca di Application Insights quando sono selezionati filtri per i dettagli, intervalli di tempo ed eventi.
- Vai al codice dalle richieste nella ricerca.
- Migliorata l'esperienza di accesso a HockeyApp.
Per altre informazioni, vedere le note tecniche sulla versione nella documentazione di Microsoft Azure.
Debug e diagnostica
In Update 3 è stato aggiunto il supporto di Strumenti di diagnostica per le app eseguite in dispositivi OneCore, tra cui HoloLens e IOT.
Miglioramenti apportati a Modifica e continuazione in C++:
- Prestazioni e affidabilità ottimizzate quando si abilita FASTLINK.
- Corretta applicazione delle modifiche del codice alle librerie statiche senza generazione di codice non aggiornato.
- Gli avvisi C4656 non appaiono più per modifiche di tipo falso positivo durante la ricompilazione.
- Supporto per l'aggiunta di un nuovo tipo con lo stesso nome in più unità di compilazione.
Miglioramenti apportati al debug dell'interfaccia utente XAML:
- Ogni volta che lo stato attivo cambia nell'app, con la nuova funzionalità di traccia dello stato attivo la selezione in Albero elementi visivi attivi si aggiorna in base all'elemento attivo.
IDE di Visual Studio
Sottoscrizioni e codici Product Key
In Update 3 sono stati elaborati i commenti e suggerimenti dei clienti che usano le sottoscrizioni tramite codici Product Key o un'identità online per sbloccare l'IDE, con i risultati seguenti:
- Non è più necessario visitare il sito https://my.visualstudio.com per attivare la sottoscrizione cloud di Visual Studio assegnata ed è possibile iniziare immediatamente a usare l'IDE di Visual Studio non appena viene assegnata la sottoscrizione.
- È stata migliorata la gestione degli errori quando si applica un codice Product Key.
- Tutte le operazioni correlate alla gestione degli account utente e delle licenze ora sono protette con HTTPS.
- Sono stati apportati miglioramenti all'accessibilità nella finestra di dialogo Impostazioni account riguardo all'attivazione di un abbonamento e all'immissione di un codice Product Key.
- Non è più necessario eseguire la riautenticazione ogni otto giorni circa per mantenere attivo l'account di personalizzazione e sincronizzare le impostazioni di roaming.
Strumenti per le app di Windows universale
Visual Studio 2015 Update 3 include vari miglioramenti agli strumenti per le app di Windows universale. Uno dei miglioramenti principali permette di accedere con le credenziali di Azure Active Directory di un account per lo store di AAD quando si crea un pacchetto da inviare al Windows Store. Quando il progetto viene associato al Windows Store non sarà più necessario accedere per creare un pacchetto da inviare allo Store.
.NET Native per le app di Windows universale
.NET Native 1.4 è una Service Release secondaria che migliora le prestazioni, corregge diversi bug segnalati dai clienti e migliora i tempi di compilazione della build di versione delle app di grandi dimensioni. Le applicazioni XAML e i giochi Unity che sfruttano .NET Native 1.4 avranno prestazioni di runtime migliori. Questi miglioramenti sono stati ottenuti rendendo più veloci le chiamate API native e con reflection.
Strumenti di architettura
Sono stati elaborati i commenti e i suggerimenti dei clienti riguardo al miglioramento delle prestazioni e dell'affidabilità.
Finestre di progettazione grafica specifiche del dominio, inclusi file EDMX e DBML
Quando in Windows 10 si apre o si prova a modificare diagrammi EDMX o DBML di grandi dimensioni mentre sullo schermo è visualizzata la tastiera, Visual Studio funziona correttamente.
Mappa codice
- Quando si prova a generare la mappa codici per una soluzione che contiene progetti Installer, con estensione vdproj, Visual Studio funziona correttamente.
- Quando si esegue un comando di generazione mappa codici dall'editor di codice e si chiude la finestra Mappa codice non appena viene visualizzata, Visual Studio funziona correttamente.
Convalida dei livelli
- Quando si compila una soluzione con un progetto di modello contenente un diagramma livello con un'azione di convalida, non viene più usato un core CPU al termine della compilazione.
- Ora è possibile convalidare un diagramma livello se il relativo progetto di modello padre fa riferimento a librerie PCL, ad esempio ODP.Net.
Node.js Tools per Visual Studio
Node.js Tools 1.2 RC per Visual Studio è ora disponibile per il download. Questa versione dovrebbe rappresentare un notevole miglioramento in termini di stabilità e prestazioni e ridurre gli arresti anomali per memoria insufficiente delle versioni precedenti.
Tra le caratteristiche principali:
- IntelliSense per ES6 più facile e veloce
- Debug più affidabile
- Esperienze di unit test migliorate, incluso il supporto per il nastro
- Comando .npm in più tipi di progetto
Per altre informazioni e download, vedere la pagina relativa a Node.js Tools 1.2 RC.
Web Developer Tools
Per i progetti di applicazioni Web ASP.NET, quando la casella di controllo "Abilita Modifica e continuazione" è deselezionata, il processo IIS Express non si arresta più ogni volta che viene arrestato il debug.
Visual C++
In Update 3 sono stati inclusi miglioramenti quali nuovi controlli e messaggi di avviso per il compilatore C++, nonché il supporto e miglioramenti delle prestazioni per la codifica in Visual Basic e C#.
Compilatore C++
- Ora è possibile controllare l'accesso di un ctor di copia/spostamento semplice eliminato. Senza il controllo, si potrebbe chiamare in modo errato il ctor di copia predefinito, in cui l'implementazione può essere in formato non valido, e causare la generazione di codice runtime potenzialmente errato.
Std::is_convertible
ora rileva correttamente l'assegnazione automatica di un tipo di classe quando il costruttore di copia è eliminato o privato.- Come ultima fase del completamento della deprecazione del supporto ATL con attributi iniziata in Visual Studio 2008, è stato aggiunto un nuovo avviso di deprecazione al compilatore. Con Visual Studio 2015 Update 3, l'utilizzo di codice ATL con attributi genera un avviso di livello 1 abilitato per impostazione predefinita. C4467
- Quando si usano file PCH, la mancata corrispondenza delle directory di inclusione -l nel compilatore tra le compilazioni -Yc e -Yu ora genera un nuovo avviso. C4599
- Quando si usano file PCH, la mancata corrispondenza delle direttive #include nei file di origine tra le compilazioni -Yc e -Yu ora genera un avviso. C4598
Per altre informazioni sull'impatto di queste modifiche sul codice esistente, vedere Guida al porting e aggiornamento in Visual C++ su MSDN.
Librerie C++
Sono state ripristinate le prestazioni della modalità di debug quando si eliminano intervalli di oggetti semplici regrediti nell'aggiornamento 2, ad esempio in vector<char>.
Sono stati implementati i tratti scambiabili del documento di lavoro C++17, dalla proposta P0185 Aggiungendo [nothrow-]tratti scambiabili. Come funzionalità speculativa di C++17, i tratti (
is_swappable
,is_swappable_with
,is_nothrow_swappable
eis_nothrow_swappable_with
) sono visibili e i vincoli perstd::swap
sono attivi solo se si esegue la compilazione con/std:c++latest
.Sono state rimosse le chiamate di eventi ETW da vcruntime140.dll e le librerie statiche che in precedenza venivano attivate durante l'avvio del processo e dllmain.
È stata rimossa la lunghezza dei nomi dei simboli nei sistemi comuni usati dai contenitori STL, ad esempio std::vector. In questo modo è stata ridotta la probabilità che vengano generati avvisi C4503. Ad esempio, il tipo seguente non genera più un avviso: concurrency::concurrent_unordered_map<wstring, vector<pair<uint64_t, vector<uint8_t>>>>.
ATL/MFC/AMP/PPL: un numero elevato di correzioni della conformità riguardo alla ricerca in due fasi, come indicato di seguito:
_com_ptr_t
ora ha un costruttore di spostamento e un operatore di assegnazione di spostamento.MFC: corretta la gestione dei valori HMENU che occasionalmente impedivano la visualizzazione corretta dei menu nelle applicazioni a 64 bit.
ATL/MFC: non vengono più visualizzati gli avvisi seguenti:
Override/occultamento funzione: C4263, C4264, C4266
Specifica di eccezione non corrispondente: C4986
/analyze: C6386
ATL: tutte le variazioni di AtlThrow ora sono correttamente contrassegnate con
__declspec(noreturn)
. In questo modo si evita la generazione di avvisi SAL errati.ATL: corrette/migliorate diverse annotazioni SAL.
/std:c++latest
abilita le nuove funzionalità seguenti: P0025R1 "clamp()", P0185R1 "is_swappable, is_nothrow_swappable" e P0272R1 "Non-const basic_string::data()."./std:c++latest controlla anche la rimozione delle funzionalità precedenti seguenti: N4190 "Rimozione di auto_ptr, random_shuffle(), And Old <functional> Stuff", P0004R1 "Removing Deprecated Iostreams Aliases", LWG 2385 "function::assign allocator argument doesn't make sense" e varie funzionalità non Standard (lo spazio dei nomi std::tr1, alcuni macchinari solo TR1 e std::identity struct).
Codegen non valido in int64_t atomico<>/atomico<uint64_t> su x86 è stato corretto.
STL ora evita l'uso di "statistiche chiave" thread-safe tranne quando è assolutamente necessario, migliorando codegen.
Il costruttore di inoltro perfetto della tupla ora evita la concorrenza con il costruttore di copia, consentendo la correzione di errori del compilatore in determinati scenari.
Coroutine:
- Deprecato quanto segue:
__yield_value
&__await
parole chiave. Utilizzare invececo_await / co_yield
. - Aggiunto avviso di deprecazione ai membri
to_address
efrom_promise
della classecoroutine_handle
. Usarecoroutine_handle::to_address()
anzichécoroutine_handle::address()
. - Usare
coroutine_handle::from_promise(Promise *P)
anzichécoroutine_handle::from_promise(Promise &P)
.
- Deprecato quanto segue:
Sono state ottimizzate le prestazioni delle operazioni
std::equal
estd::lexicographical_compare
con l'invio a memcmp e memchr in modo più aggressivo, con un notevole miglioramento delle prestazioni in alcuni scenari. Ad esempio: equal(char,char,char, char) sulle piattaforme a 64 bit.- Debug significativo delle compilazioni riducendo il numero di chiamate di funzioni di gestione nel sistema di debug dell'iteratore.
- string::p ush_back ha migliorato un altro 40% rispetto all'aggiornamento 2 nelle build di versione, con miglioramenti più sostanziali nelle compilazioni di debug. Si tratta di un'aggiunta ai miglioramenti generali inclusi in Update 2.
- Le compilazioni di debug per tutti gli algoritmi standard sono state migliorate eliminando diversi tipi di chiamate vuote al supporto di metaprogrammazione basato su modelli, ad esempio
_Iter_cat
, per tutti gli algoritmi che usano i predicati, riducendo il numero di copie dei predicati. std::mismatch
in_ITERATOR_DEBUG_LEVEL
1 e 2 per intervallo controllando il secondo intervallo dove possibile prima dell'iterazione.
È stata migliorata la diagnostica per i messaggi
_SCL_INSECURE_DEPRECATE
a tutti gli altri algoritmi. In Update 2 solo un numero ridotto di algoritmi era associato al nuovo meccanismo di deprecazione. In questo modo l'esperienza di debug migliora quando si esegue il debug negli algoritmi standard, poiché non viene più usata alcuna interazione_ITERATOR_DEBUG_LEVEL
del preprocessore che dichiara più copie di algoritmi standard. Sono stati inoltre risolti i problemi seguenti:- È stata corretta l'impossibilità di compilare alcune funzioni come mismatch(iter, iter, T[]) a causa dell'interazione tra algoritmi a doppio intervallo e
_ITERATOR_DEBUG_ARRAY_OVERLOADS
non standard.
- È stata corretta l'impossibilità di compilare alcune funzioni come mismatch(iter, iter, T[]) a causa dell'interazione tra algoritmi a doppio intervallo e
Sono state corrette le violazioni dell'avviso C4242 disabilitato per impostazione predefinita in STL.
È stato corretto un possibile bug dell'overflow di Integer in std::pop_heap.
È stata corretta una potenziale interruzione in /clr:pure dovuta a chiamate a LoadLibrary inserite in CLR con la conservazione del blocco delle impostazioni locali.
Debug C++/CLI
- L'analizzatore di espressioni C++/CLI ora supporta funzionalità di debug, ad esempio Natvis, che in precedenza erano supportate solo per app native pure. Ora, quando gli oggetti in un'app mista gestita/nativa vengono elencati in una finestra delle variabili o all'interno di un suggerimento dati, si espandono esattamente come avviene in un'app nativa pura, in base alle definizioni dei visualizzatori dei tipi.
Set di strumenti della piattaforma Clang/C2
La versione 3.8 di Clang è stata integrata in Clang/C2 ed è stato messo a disposizione un set di strumenti a 64 bit ospitato.
C++ MDD
È stato abilitato il supporto per la versione più recente di Android NDK R11C ed è possibile aggiornare i progetti correnti in modo da adeguarli a tale versione di NDK.
TypeScript
Visual Studio 2015 Update 3 include TypeScript 1.8.34. È stato corretto un errore di memoria insufficiente generato con alcuni progetti TypeScript di grandi dimensioni che usano AngularJS.
C# r Visual Basic
Sono stati fatti investimenti per ridurre il footprint di memoria e migliorare le prestazioni della diagnostica del codice. Questo permetterà di ridurre molti degli arresti anomali per memoria insufficiente delle versioni precedenti. Sono state migliorate le prestazioni dell'esecuzione della diagnostica del codice in un'intera soluzione. Per altre informazioni sui miglioramenti apportati alle prestazioni della diagnostica del codice, vedere How to: Enable and Disable Full Solution Analysis for Managed Code (Procedura: Abilitare e disabilitare l'analisi completa della soluzione per il codice gestito) in MSDN.
Ulteriori miglioramenti, tra cui:
- Un'opzione per aggiungere un riferimento a un pacchetto NuGet come correzione rapida:
- È possibile abilitare questa opzione da Strumenti > Opzioni > Editor > di testo C# > Avanzate, in "Direttive using":
- È stato migliorato il supporto per le librerie di classi portabili destinate alla piattaforma standard .NET.
- Sono state migliorate le prestazioni all'implementazione GoTo in C# e Trova tutti i riferimenti. Per provare queste opzioni, selezionare un oggetto, fare clic sull'oggetto con il pulsante destro del mouse e selezionare le opzioni dal menu.
- Se si applica un'azione di "correzione globale" al documento, progetto o soluzione, ora viene visualizzato un indicatore di stato.
- Sono state migliorate le prestazioni di ricaricamento di progetti C# e VB in soluzioni di grandi dimensioni. Per altre informazioni e suggerimenti, vedere Performance considerations for large solutions (Considerazioni sulle prestazioni per soluzioni di grandi dimensioni).
Team Explorer
Sono stati corretti diversi bug in Team Explorer:
- Impossibile visualizzare il contenuto di un file eliminato da un repository Git.
- Quando si visualizza la cronologia di un ramo, l'icona Vai a elemento figlio dovrebbe essere disabilitata se lo stato attivo è l'ultimo commit.
- Quando si modificano rami con Git.exe, Visual Studio potrebbe arrestarsi in modo anomalo oppure entrare in uno stato sconosciuto.
- Quando si visualizza la cronologia di un ramo in un repository Git, l'evidenziazione nel grafico della cronologia presenta anomalie.
- Quando si crea un ramo in Team Explorer, la scelta rapida da tastiera ALT+B per Crea ramo è in conflitto con il menu Compila.
- In una situazione di utilizzo elevato della memoria, quando si tenta di decomprimere un oggetto maggiore della memoria disponibile, Git restituisce un errore "Object not found - no matching loose object (sha1>)" anziché< un errore di memoria insufficiente.
- Errore di digitatura nel messaggio di errore "... In ordine di apertura di questa soluzione ...".
- Quando si visualizza la cronologia di un ramo e si fa clic con il tasto destro del mouse sul primo commit della cronologia, l'operazione di cherry-pick è disabilitata.
- Quando si crea una richiesta di pull dalla pagina dei rami di Team Explorer, il menu di scelta rapida usa il ramo corrente anziché il ramo selezionato.
Xamarin for Visual Studio
Visual Studio 2015 Update 3 ora include Xamarin 4.1. Oltre a diverse correzioni di bug, questa versione aggiunge il supporto per tvOS, migliora il supporto per il catalogo di asset iOS, migliora l'esperienza di modifica XML e aggiunge selettori per le implementazioni SSL/TLS e HttpClient durante la creazione di app iOS. Per altre informazioni, vedere le note sulla versione di Xamarin.