Note sulla versione di Visual Studio 2017 versione 15.0
Community degli sviluppatori | Requisiti di sistema | Compatibilità | Codice distribuibile | Condizioni di licenza | Blog | Problemi noti
Nota
Questa non è la versione più recente di Visual Studio. Per scaricare la versione più recente, visitare il sito di Visual Studio .
Commenti e suggerimenti
I commenti degli utenti sono molto apprezzati. È possibile segnalare un problema tramite l'opzione Segnala un problema disponibile nell'angolo superiore destro del programma di installazione o dell'IDE di Visual Studio. L'icona si trova nell'angolo superiore destro. È possibile visualizzare lo stato dei problemi nella community degli sviluppatori di Visual Studio, dove è possibile creare domande e trovare risposte. È possibile usufruire gratuitamente del supporto per l'installazione con il supporto Chat attiva.
Intervallo di tempo del supporto
Gli utenti Enterprise e Professional di Visual Studio 2017 versione 15.0 dispongono del supporto e riceveranno correzioni per le vulnerabilità della sicurezza fino al gennaio 2020. Questo intervallo di tempo dipende dal fatto che in ottobre 2018 Visual Studio 2017 versione 15.9 è stato designato come baseline di manutenzione finale per il prodotto Visual Studio 2017. È possibile acquistare la versione sicura più recente di Visual Studio 2017 nella sezione download di my.visualstudio.com. Per altre informazioni sulle baseline supportate di Visual Studio, vedere i criteri di supporto per Visual Studio 2017.
Fare riferimento alla versione più recente delle note sulla versione o visitare il sito di Visual Studio per scaricare la versione supportata più recente di Visual Studio 2017.
Cronologia delle versioni
- 11 dicembre 2019 - Visual Studio 2017 versione 15.0 (26228.102)
- 10 settembre 2019 - Visual Studio 2017 versione 15.0 (26228.98)
- 13 agosto 2019 - Visual Studio 2017 versione 15.0 (26228.96)
- 09 luglio 2017 - Visual Studio 2019 versione 15.0 (26228.92)
- 11 giugno 2019 - Visual Studio 2017 versione 15.0 (26228.88)
- 14 maggio 2017 - Visual Studio 2019 versione 15.0 (26228.84)
- 12 marzo 2019 - Visual Studio 2017 versione 15.0 (26228.76)
- 12 febbraio 2019 - Visual Studio 2017 versione 15.0 (26228.73)
- 11 dicembre 2018 - Visual Studio 2017 versione 15.0 (26228.64)
- 10 ottobre 2018 - Visual Studio 2017 versione 15.0 (26228.57)
- 28 agosto 2018 - Visual Studio 2017 versione 15.0 (26228.52)
- 14 agosto 2018 Visual Studio 2017 versione 15.0 (26228.49)
- 2 agosto 2018 Visual Studio 2017 versione 15.0 (26228.46)
- 10 luglio 2018 - Visual Studio 2017 versione 15.0 (26228.43)
- 31 maggio 2017 - Visual Studio 2018 versione 15.0 (26228.37)
- 26 aprile 2018 - Visual Studio 2017 versione 15.0 (26228.31)
- 10 aprile 2018 - Visual Studio 2017 versione 15.0 (26228.30)
- 13 marzo 2018 - Visual Studio 2017 versione 15.0 (26228.29)
- 21 febbraio 2018 - Visual Studio 2017 versione 15.0 (26228.26)
- 2 febbraio 2018 - Visual Studio 2017 versione 15.0 (26228.23)
- 9 gennaio 2018 - Visual Studio 2017 versione 15.0 (26228.21)
- 6 dicembre 2017 - Visual Studio 2017 versione 15.0 (26228.18)
- 14 novembre 2017 - Visual Studio 2017 versione 15.0 (26228.17)
- 18 settembre 2017 - Visual Studio 2017 versione 15.0 (26228.16)
- 23 maggio 2017 - Visual Studio 2017 versione 15.0 (26228.13)
- 31 marzo 2017 - Visual Studio 2017 versione 15.0 (26228.12)
- 28 marzo 2017 - Visual Studio 2017 versione 15.0 (26228.10)
- 14 marzo 2017 - Visual Studio 2017 versione 15.0 (26228.09)
- 7 marzo 2017 Visual Studio 2017 versione 15.0 (26228.04)
Visual Studio 2017 versione 15.0 (26228.102)
Data di rilascio: 11 dicembre 2019
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2019-1349 Vulnerabilità di esecuzione remota di Git per Visual Studio a causa di restrizioni troppo permissive per i nomi dei moduli secondari
Esiste una vulnerabilità di esecuzione remota del codice quando Git riscontra collisioni per i nomi di moduli secondari per le directory di moduli secondari di pari livello. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire codice da remoto nel computer di destinazione. L'aggiornamento della sicurezza risolve la vulnerabilità con una nuova versione di Git per Windows che richiede che la directory per il clone dei moduli secondari sia vuota.
CVE-2019-1350 Vulnerabilità di esecuzione remota di Git per Visual Studio a causa di virgolette non corrette per gli argomenti della riga di comando
Esiste una vulnerabilità di esecuzione remota del codice quando Git interpreta gli argomenti della riga di comando con determinate virgolette durante una clonazione ricorsiva in combinazione con URL SSH. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire codice da remoto nel computer di destinazione. L'aggiornamento della sicurezza risolve la vulnerabilità con una nuova versione di Git per Windows che corregge il problema.
CVE-2019-1351 Vulnerabilità di sovrascrittura di file arbitrari di Git per Visual Studio causata dall'utilizzo di nomi di unità non composti da lettere durante la clonazione
Esiste una vulnerabilità di sovrascrittura di file arbitrari in Git quando i nomi di unità non composti da lettere ignorano i controlli di sicurezza in git clone
. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe scrivere in file arbitrari nel computer di destinazione. L'aggiornamento della sicurezza risolve la vulnerabilità con una nuova versione di Git per Windows che corregge il problema.
CVE-2019-1352 Vulnerabilità di esecuzione remota di Git per Visual Studio a causa del mancato riconoscimento dei flussi dei dati alternativi NTFS
Esiste una vulnerabilità di esecuzione remota del codice in Git durante la clonazione e la scrittura nella directory . git/ tramite flussi dei dati alternativi NTFS. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire codice da remoto nel computer di destinazione. L'aggiornamento della sicurezza risolve la vulnerabilità con una nuova versione di Git per Windows che riconosce i flussi dei dati alternativi NTFS.
CVE-2019-1354 Vulnerabilità di sovrascrittura di file arbitrari di Git per Visual Studio a causa del mancato rifiuto di scrivere file tracciati contenenti barre rovesciate
Esiste una vulnerabilità di sovrascrittura di file arbitrari in Git a causa della quale le voci dell'albero con barre rovesciate e collegamenti simbolici dannosi potrebbero uscire dall'albero di lavoro. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe scrivere in file arbitrari nel computer di destinazione. L'aggiornamento della sicurezza risolve la vulnerabilità con una nuova versione di Git per Windows che non consente l'utilizzo di barre rovesciate.
CVE-2019-1387 Vulnerabilità di esecuzione remota di Git per Visual Studio a causa di una convalida troppo permissiva per i nomi dei moduli secondari nei cloni ricorsivi
Esiste una vulnerabilità di esecuzione di codice remota in Git durante la clonazione ricorsiva con moduli secondari. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire codice da remoto nel computer di destinazione. L'aggiornamento della sicurezza risolve la vulnerabilità con una nuova versione di Git per Windows che applica criteri più restrittivi per la convalida dei nomi dei moduli secondari.
Visual Studio 2017 versione 15.0 (26228.98)
Data di rilascio: 10 settembre 2019
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2019-1232: vulnerabilità di elevazione dei privilegi del servizio dell'agente di raccolta standard dell'hub di diagnostica
Esiste una vulnerabilità di elevazione dei privilegi quando il servizio dell'agente di raccolta standard dell'hub di diagnostica rappresenta in modo non corretto determinate operazioni sui file. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe ottenere privilegi elevati. Un utente malintenzionato con accesso senza privilegi a un sistema vulnerabile potrebbe riuscire a sfruttare questa vulnerabilità. L'aggiornamento della sicurezza risolve la vulnerabilità assicurando che il servizio dell'agente di raccolta standard dell'hub di diagnostica rappresenti correttamente le operazioni sui file.
Visual Studio 2017 versione 15.0 (26228.96)
Data di rilascio: 13 agosto 2019
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2019-1211 Vulnerabilità dell'elevazione dei privilegi in Git per Visual Studio
È stata rilevata una vulnerabilità relativa all'elevazione dei privilegi in Git per Visual Studio quando i file di configurazione vengono analizzati in modo non corretto. Un utente malintenzionato può sfruttare efficacemente questa vulnerabilità ed eseguire codice nel contesto di un altro utente locale. Per sfruttare la vulnerabilità, un utente malintenzionato autenticato deve modificare i file di configurazione Git in un sistema prima di eseguire un'installazione completa dell'applicazione. L'utente malintenzionato deve quindi convincere un altro utente nel sistema a eseguire specifici comandi Git. L'aggiornamento risolve il problema cambiando le autorizzazioni necessarie per modificare i file di configurazione.
Visual Studio 2017 versione 15.0 (26228.92)
Data di rilascio: 09 luglio 2019
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2019-1113 La deserializzazione XOML WorkflowDesigner consente l'esecuzione di codice
Un file XOML che fa riferimento a determinati tipi può causare l'esecuzione di codice casuale quando il file XOML viene aperto in Visual Studio. Ora è stata implementata una restrizione sui tipi che possono essere usati nei file XOML. Se viene aperto un file XOML contenente uno dei tipi che non sono più autorizzati, un messaggio spiega che il tipo non è autorizzato.
Per altre informazioni, vedere l'articolo relativo a XOML.
Visual Studio 2017 versione 15.0 (26228.88)
Data di rilascio: 11 giugno 2019
Problema risolto in questa versione
Visual Studio 2017 versione 15.0 (26228.84)
Data di rilascio: 14 maggio 2019
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2019-0727 Vulnerabilità di elevazione dei privilegi del servizio dell'agente di raccolta standard dell'hub di diagnostica
Esiste una vulnerabilità di elevazione dei privilegi quando il servizio dell'agente di raccolta standard dell'hub di diagnostica esegue in modo non corretto determinate operazioni sui file. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eliminare file in posizioni arbitrarie. Per sfruttare questa vulnerabilità, un utente malintenzionato deve ottenere l'accesso senza privilegi a un sistema vulnerabile. L'aggiornamento della sicurezza risolve la vulnerabilità proteggendo le posizioni in cui il servizio dell'agente di raccolta standard dell'hub di diagnostica esegue operazioni sui file.
Visual Studio 2017 versione 15.0 (26228.76)
Data di rilascio: 12 marzo 2019
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2019-9197 Vulnerabilità di esecuzione remota del codice dell'editor Unity
È presente una vulnerabilità di esecuzione remota del codice nell'editor Unity, un software di terze parti offerto da Visual Studio per l'installazione come parte del carico di lavoro Sviluppo di giochi con Unity. Se Unity è stato installato da Visual Studio, assicurarsi di aggiornare la versione di Unity in uso a una versione che risolve la vulnerabilità come descritto in CVE. Il programma di installazione di Visual Studio è stato aggiornato per offrire l'installazione di una versione dell'editor Unity che risolve la vulnerabilità.
Visual Studio 2017 versione 15.0 (26228.73)
Data di rilascio: 12 febbraio 2019
Notifiche di avvisi di sicurezza per Visual Studio 2017 versione 15.0
CVE-2019-0613 La deserializzazione XOML WorkflowDesigner consente l'esecuzione di codice
Un file XOML che fa riferimento a determinati tipi può causare l'esecuzione di codice casuale quando il file XOML viene aperto in Visual Studio. Ora è stata implementata una restrizione sui tipi che possono essere usati nei file XOML. Se viene aperto un file XOML contenente uno dei tipi che non sono più autorizzati, un messaggio spiega che il tipo non è autorizzato.
Per altre informazioni, vedere https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.
CVE-2019-0657 Vulnerabilità spoofing per .NET Framework e Visual Studio
Gli aggiornamenti di .NET Core sono stati rilasciati oggi e sono inclusi in questo aggiornamento di Visual Studio. Questa versione risolve problemi di protezione e altri problemi importanti. I dettagli sono disponibili nelle Note sulla versione di .NET Core.
Visual Studio 2017 versione 15.0 (26228.64)
Data di rilascio: 11 dicembre 2018
Problemi corretti in questa versione
- Gli utenti di Azure DevOps con nomi di progetto o nomi di repository contenenti spazi riscontreranno errori durante la clonazione o la pubblicazione in Team Explorer.
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-8599 Vulnerabilità di elevazione dei privilegi del servizio dell'agente di raccolta standard dell'hub di diagnostica
Esiste una vulnerabilità di elevazione dei privilegi quando il servizio dell'agente di raccolta standard dell'hub di diagnostica gestisce in modo non corretto determinate operazioni sui file. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe ottenere privilegi elevati. Per sfruttare questa vulnerabilità, un utente malintenzionato deve ottenere l'accesso senza privilegi a un sistema vulnerabile. L'aggiornamento della sicurezza risolve la vulnerabilità assicurando che il servizio dell'agente di raccolta standard dell'hub di diagnostica rappresenti correttamente le operazioni sui file.
Visual Studio 2017 versione 15.0 (26228.57)
Data di rilascio: 10 ottobre 2018
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-8292 vulnerabilità di diffusione di informazioni di .NET Core
In .NET Core esiste una vulnerabilità di bypass della funzionalità di sicurezza quando le informazioni di autenticazione HTTP vengono esposte inavvertitamente in una richiesta in uscita con reindirizzamento HTTP. Un utente malintenzionato potrebbe sfruttare questa vulnerabilità e usare le informazioni per compromettere l'applicazione Web. L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui le applicazioni .NET gestiscono i reindirizzamenti HTTP.
Visual Studio 2017 versione 15.0 (26228.52)
Rilascio: 28 agosto 2018
Problemi corretti in questa versione
Visual Studio 2017 versione 15.0 (26228.49)
Rilascio: 14 agosto 2018
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-0952 Vulnerabilità di elevazione dei privilegi dell'agente di raccolta standard dell'hub di diagnostica
Esiste una vulnerabilità di elevazione dei privilegi in un servizio di Visual Studio, a causa del quale un utente senza privilegi di amministratore può ottenere privilegi di sistema durante la scrittura di file. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe scrivere file come sistema pur avendo solo l'accesso a livello di utente. Questo aggiornamento della sicurezza risolve questo problema rappresentando l'utente corrente per convalidare l'accesso al percorso del file.
Visual Studio 2017 versione 15.0 (26228.46)
Rilascio: 2 agosto 2018
Riepilogo degli aggiornamenti in questa versione
- Questa versione ora installa Java™ Development Kit 8, aggiornamento 181 (versione JDK 8u181).
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-8356 Vulnerabilità di bypass della funzionalità di sicurezza di .NET Core
Microsoft è a conoscenza di una vulnerabilità di bypass della funzionalità di sicurezza, che si verifica quando .NET Core non esegue correttamente la convalida dei certificati. Un utente malintenzionato può sfruttare questa vulnerabilità presentando un certificato scaduto quando gli viene richiesto. L'aggiornamento risolve la vulnerabilità correggendo la modalità di gestione della convalida dei certificati in .NET Core.
Visual Studio 2017 versione 15.0 (26228.43)
Rilascio: 10 luglio 2018
Notifiche di avvisi di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-8172 Vulnerabilità di Visual Studio per l'esecuzione remota del codice
Una vulnerabilità di esecuzione remota del codice può consentire lo sfruttamento del computer di un utente, tramite l'apertura di un progetto o di un file di risorse creato appositamente. L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui Visual Studio controlla il markup di origine di un file.
CVE-2018-8260 Vulnerabilità di esecuzione remota del codice di .NET Framework
Esiste una vulnerabilità di esecuzione remota del codice nel software .NET che può consentire lo sfruttamento del computer di un utente consentendo a utenti malintenzionati di eseguire codice arbitrario nel contesto dell'utente corrente. L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui .NET controlla il markup di origine di un file.
CVE-2018-8232 Vulnerabilità di manomissione di Microsoft Macro Assembler .NET.
Vulnerabilità di manomissione correlata alla convalida non corretta del codice da parte di Microsoft Macro Assembler. L'aggiornamento della sicurezza risolve la vulnerabilità assicurando che Microsoft Macro Assembler convalidi correttamente la logica del codice.
CVE-2018-8171 Vulnerabilità di bypass della funzionalità di sicurezza di ASP.NET Core
La vulnerabilità di bypass della funzionalità di sicurezza di ASP.NET Core si verifica quando non viene convalidato il numero di tentativi di accesso non corretti, situazione che può consentire a un utente malintenzionato di eseguire un numero infinito di tentativi di autenticazione. L'aggiornamento risolve la vulnerabilità convalidando il numero di tentativi di accesso non corretti.
Visual Studio 2017 versione 15.0 (26228.37)
Rilascio: 31 maggio 2018
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-11235 Avviso di sicurezza Microsoft per vulnerabilità di sicurezza di Git
È stata risolta una vulnerabilità di sicurezza in Git divulgata dalla community di Git. La vulnerabilità può causare l'esecuzione di codice arbitrario quando un utente clona un repository dannoso.
Visual Studio 2017 versione 15.0 (26228.31)
Rilascio: 26 aprile 2018
Riepilogo degli aggiornamenti in questa versione
- È ora usato Java™ Development Kit 8, aggiornamento 172 (versione JDK 8u172).
Visual Studio 2017 versione 15.0 (26228.30)
Rilascio: 10 aprile 2018
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-1037 Avvisi di sicurezza Microsoft per Microsoft Visual Studio - Vulnerabilità per diffusione di informazioni
Esiste una vulnerabilità per diffusione di informazioni quando Visual Studio divulga in modo improprio contenuto limitato della memoria non inizializzata durante la compilazione di file di database di programma (PDB). Un utente malintenzionato che riesce a sfruttare questa diffusione di informazioni potrebbe visualizzare la memoria non inizializzata dall'istanza di Visual Studio usata per compilare il file PDB.
Per sfruttare la vulnerabilità, un utente malintenzionato dovrebbe avere accesso a un file PDB interessato creato usando una versione di Visual Studio vulnerabile. Un utente malintenzionato non ha alcuna possibilità di forzare uno sviluppatore a produrre questa diffusione di informazioni.
L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui vengono generati i file PDB quando viene compilato un progetto.
Visual Studio 2017 versione 15.0 (26228.29)
Rilascio: 13 marzo 2018
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-0875 Avvisi di sicurezza Microsoft per .NET Core
Microsoft è a conoscenza di una vulnerabilità di sicurezza nelle versioni pubbliche di .NET Core, a causa della quale una richiesta di file o Web dannosa può originare un attacco Denial Of Service (DoS).
- È consigliabile che gli amministratori di sistema aggiornino i runtime .NET Core alle versioni 1.0.10, 1.1.7 o 2.0.6. È consigliabile che gli sviluppatori aggiornino .NET Core SDK alle versioni 1.1.8 o 2.1.101.
Visual Studio 2017 versione 15.0 (26228.26)
Rilascio: 21 febbraio 2018
Riepilogo degli aggiornamenti in questa versione
Team Explorer supporta TLSv1.2. Sono state aggiornati Git e i componenti di Git Credential Manager forniti in Visual Studio. Anche il componente facoltativo di Git per Windows è stato aggiornato. Questo aggiornamento consente a Git di connettersi ai servizi con supporto deprecato per TLSv1 e TLSv1.1 a favore di TLSv1.2.
Visual Studio 2017 versione 15.0 (26228.23)
Rilascio: 2 febbraio 2018
Riepilogo degli aggiornamenti in questa versione
- Il compilatore MSVC è stato aggiornato per supportare l'opzione /Qspectre che inserirà automaticamente una barriera al rilevamento di istanze di Spectre variante 1. Per altre informazioni su /Qspectre fare riferimento al blog del team di Visual C++.
- Il pacchetto JDK è stato trasferito a 8u161 per correggere errori di download.
Visual Studio 2017 versione 15.0 (26228.21)
Rilascio: 9 gennaio 2018
Notifiche di avvisi di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-0786 Bypass della funzionalità di sicurezza nella convalida del certificato X509
Microsoft ha rilasciato questo avviso di sicurezza per fornire informazioni su una vulnerabilità nelle versioni pubbliche di .NET Core 1.0 e 1.1 e 2.0. Questo avviso offre anche informazioni aggiuntive sulle operazioni che gli sviluppatori possono eseguire per aggiornare le applicazioni in modo corretto. Questo avviso di sicurezza è applicabile anche a .NET nativo per piattaforma UWP (Universal Windows Platform).
Microsoft è a conoscenza di una vulnerabilità di sicurezza nelle versioni pubbliche di .NET Core in cui un utente malintenzionato potrebbe presentare un certificato contrassegnato come non valido per un uso specifico, ma che viene usato da un componente per un altro scopo. Questa azione non considera il contrassegno con l'utilizzo chiavi avanzato.
L'aggiornamento della sicurezza risolve la vulnerabilità assicurando che i componenti di .NET Core eseguano la convalida completa dei certificati. È consigliabile che gli amministratori di sistema aggiornino i runtime .NET Core alle versioni 1.0.9, 1.1.6 e 2.0.5. È consigliabile che gli sviluppatori aggiornino .NET Core SDK alla versione 2.1.4 o 1.1.7.
CVE-2018-0764 Denial of Service durante l'analisi di documenti XML
Microsoft ha rilasciato questo avviso di sicurezza per fornire informazioni su una vulnerabilità nelle versioni pubbliche di .NET Core 1.0 e 1.1 e 2.0. Questo avviso offre anche informazioni aggiuntive sulle operazioni che gli sviluppatori possono eseguire per aggiornare le applicazioni in modo corretto.
Microsoft è a conoscenza di una vulnerabilità di tipo Denial of Service in tutte le versioni pubbliche di .NET Core dovuta all'elaborazione non corretta dei documenti XML. Un utente malintenzionato potrebbe sfruttare questa vulnerabilità e causare un attacco Denial of Service contro un'applicazione .NET. Un utente malintenzionato non autenticato remoto potrebbe sfruttare questa vulnerabilità inviando richieste appositamente predisposte a un'applicazione .NET Core.
L'aggiornamento risolve la vulnerabilità correggendo la modalità con cui .NET Core gestisce l'elaborazione dei documenti XML. È consigliabile che gli amministratori di sistema aggiornino i runtime .NET Core alle versioni 1.0.9, 1.1.6 e 2.0.5. È consigliabile che gli sviluppatori aggiornino .NET Core SDK alla versione 2.1.4 o 1.1.7.
Visual Studio 2017 versione 15.0 (26228.18)
Rilascio: 6 dicembre 2017
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
Microsoft ha rilasciato gli avvisi di sicurezza per ASP.NET Core. I dettagli sono disponibili negli annunci corrispondenti nel repository ASP.NET Core. Vedere le informazioni riportate di seguito:
CVE-2017-8700 Ignorare CORS può abilitare la diffusione di informazioni
È presente una vulnerabilità di sicurezza in ASP.NET Core 1.0 e 1.1 a causa della quale è possibile ignorare la condivisione risorse tra le origini (CORS), causando la diffusione di informazioni. I nuovi progetti creati con ASP.NET Core 1.0 e ASP.NET Core 1.1 useranno versioni del pacchetto che includono l'aggiornamento di sicurezza sopra indicato. Per i progetti esistenti, gli utenti possono aggiornare i pacchetti a versioni più recenti, tramite la finestra di dialogo Gestisci pacchetti NuGet.
Visual Studio 2017 versione 15.0 (26228.17)
Rilascio: 14 novembre 2017
Notifiche di avvisi di sicurezza per Visual Studio 2017 versione 15.0
Microsoft ha rilasciato gli avvisi di sicurezza di .NET Core e ASP.NET Core. I dettagli sono disponibili negli annunci corrispondenti nell'archivio .NET Core e ASP.NET Core. Vedere le informazioni riportate di seguito:
CVE-2017-8585 Il formato certificato non valido può causare Denial of Service
È presente una vulnerabilità di sicurezza in .NET Core 1.0, 1.1 e 2.0, a causa della quale un formato certificato non valido oppure altri dati con formato ASN.1 possono portare a un condizione di Denial of Service tramite un ciclo infinito su Linux e macOS. È consigliabile che gli amministratori del sistema aggiornino i runtime .NET Core alle versioni 1.0.8, 1.1.5 e 2.0.1. È consigliabile che gli sviluppatori aggiornino i componenti di base di .NET SDK alla versione 2.0.3 o 1.1.5.
CVE-2017-8700 Ignorare CORS può abilitare la diffusione di informazioni
È presente una vulnerabilità di sicurezza in ASP.NET Core 1.0 e 1.1 a causa della quale è possibile ignorare la condivisione risorse tra le origini (CORS), causando la diffusione di informazioni.
CVE-2017-11879 Una vulnerabilità Open Redirect può causare l'elevazione dei privilegi
È presente una vulnerabilità di sicurezza in ASP.NET 2.0 Core per cui una condizione di vulnerabilità Open Redirect porta all'elevazione dei privilegi.
CVE-2017-11770 Vulnerabilità Denial Of Service
È presente una vulnerabilità di sicurezza in ASP.NET Core 1.0, 1.1 e 2.0 quando l'applicazione è ospitata tramite Http.Sys Windows, a causa della quale una richiesta in formato non corretto può portare a una condizione Denial Of Service. I nuovi progetti creati con ASP.NET Core 1.0 e ASP.NET Core 1.1 useranno versioni del pacchetto che includono gli aggiornamenti di sicurezza sopra indicati. Per i progetti esistenti, gli utenti possono aggiornare i pacchetti a versioni più recenti, tramite la finestra di dialogo Gestisci pacchetti NuGet.
Visual Studio 2017 versione 15.0 (26228.16)
Rilascio: 18 settembre 2017
Problemi corretti in questa versione
- Access Denied / Unknown Error / other issues when running on Win7 under multiple user contexts (Admin / normal) (Accesso negato, errore sconosciuto o altri problemi durante l'esecuzione in Windows 7 con più contesti utente (amministratore / normale)).
- New Project menu fails with error Value cannot be null. Nome parametro: eventId.
- The version of Git that ships in VS has been patched to address Git CVE 2017-1000117 (Alla versione di Git disponibile in Visual Studio è stata applicata una patch per Git CVE 2017-1000117).
- Il componente facoltativo di Git per Windows è stato aggiornato a v2.14.1.
Visual Studio 2017 versione 15.0 (26228.13)
Rilascio: 23 maggio 2017
Problemi corretti in questa versione
Gli scenari di installazione offline non richiedono più l'accesso a internet.
Visual Studio 2017 versione 15.0 (26228.12)
Rilascio: 31 marzo 2017
Riepilogo degli aggiornamenti in questa versione
Gli strumenti e le API Xcode 8.3, iOS 10.3, watchOS 3.2 e tvOS 10.2 sono ora supportati nell'estensione Xamarin.VS per Visual Studio 2017.
Visual Studio 2017 versione 15.0 (26228.10)
Rilascio: 28 marzo 2017
Problemi corretti in questa versione
Questi sono i problemi segnalati dai clienti risolti nella build 26228.10:
- Git folder view 'Discovering files' hangs (La visualizzazione della cartella Git si interrompe a 'Individuazione file').
- Windows Explorer crashes when opening folder with a typescript file (Si verifica un arresto anomalo di Esplora risorse all'apertura di una cartella con un file TypeScript).
- 2017 hangs on open SLN (2017 si interrompe in SLN aperto).
- Studio hangs on close (Studio si interrompe alla chiusura).
- Visual Studio crashes when loading solution (Si verifica un arresto anomalo di Visual Studio durante il caricamento di una soluzione).
- VS Enterprise 2017 RC crashed when syncing source code from on-prem VSTS server (Si verifica un arresto anomalo di VS Enterprise 2017 RC durante la sincronizzazione di codice sorgente da server VSTS locale).
- Unloading the selected projects hangs (LO scaricamento dei progetti selezionati si interrompe).
- VS2017 RC4 freezes when loading a particular solution (VS2017 RC4 si blocca durante il caricamento di una soluzione specifica).
Visual Studio 2017 versione 15.0 (26228.09)
Rilascio: 14 marzo 2017
Problemi corretti in questa versione
Questi sono i problemi segnalati dai clienti risolti nella build 26228.09:
- La soluzione si chiude immediatamente dopo l'apertura.
- L'installazione si arresta con l'applicazione di GitV2.
- Microsoft.Net.Core.SDK;PackageAction=Install;ReturnCode=-2147023274.
- Installazione non riuscita a causa di percorsi di origine/destinazione non validi.
- La soluzione si chiude dopo il primo avvio.
Visual Studio 2017 versione 15.0 (26228.04)
Rilascio: 7 marzo 2017
Riepilogo degli aggiornamenti in questa versione
Sviluppo: esplorare, scrivere e correggere il codice rapidamente
- Nuova esperienza di installazione: è stato ridotto il footprint minimo per un'installazione più rapida e personalizzabile ed è stato aggiunto il supporto per le installazioni offline.
- L'IDE di Visual Studio ha apportato una vasta gamma di miglioramenti a Visual Studio 2017, tra cui la riduzione dei tempi di avvio e caricamento delle soluzioni, una maggiore facilità di accesso e controllo dell'identità, una maggiore rapidità di spostamento all'interno del codice e una maggiore facilità di apertura della visualizzazione cartelle, oltre a servizi connessi che consentono il collegamento tra le app e qualsiasi servizio locale o nel cloud.
- Non ci sono state modifiche importanti in Visual C++ tra la versione 2015 e la versione 2017. Sono stati introdotti miglioramenti a livello di conformità C++14, supporto per CMake, velocità di compilazione e produttività nell'editor.
- Per C# e Visual Basic, è stato esteso il supporto per le nuove funzionalità dei linguaggi C# 7.0 e Visual Basic 15 e sono stati introdotti nuovi refactoring che consentono di organizzare il codice sorgente con un'unica azione.
- Per F#, sono stati aggiunti il supporto per le funzionalità del linguaggio F# 4.1 e alcuni miglioramenti al compilatore F# e a FSharp.Core. È stato anche aggiunto un nuovo editor basato sulle aree di lavoro Roslyn.
- Per JavaScript e TypeScript, è ora disponibile TypeScript 2.1 per tutti i progetti TypeScript in Visual Studio. Un nuovo servizio di linguaggio JavaScript è disponibile e abilitato per impostazione predefinita.
Debug: facilità di debug, profilatura e diagnosi del codice
Per il debug e la diagnostica, è stato migliorato l'helper eccezioni ed è stato reso più rapido lo spostamento all'interno del codice con Esegui fino alla riga selezionata. È stato anche aggiunto un nuovo riepilogo degli eventi dell'applicazione nella finestra Strumenti di diagnostica e sono stati apportati diversi miglioramenti allo strumento Utilizzo CPU.
Test: scrivere codice di alta qualità con strumenti di test completi
- Live Unit Testing è ora in grado di visualizzare in tempo reale nell'editor i risultati dei testing unità e la code coverage.
- Gli strumenti di test sono in grado di associare automazione ed elementi di lavoro di test case tramite Esplora test.
Collaborazione: controllo della versione, strumenti e processi Agile ed efficienti funzionalità di collaborazione
- Le nuove funzionalità Git in Team Explorer e l'esperienza di connessione aggiornata consentono sfruttare le maggiori opportunità offerte da Git in Visual Studio 2017 e trovare facilmente progetti e repository a cui connettersi.
- Con i miglioramenti al flusso di lavoro per commenti e suggerimenti su Visual Studio, l'opzione Segnala un problema è stata resa più collaborativa. È infatti possibile eseguire ricerche, seguire e votare per ottenere gli aggiornamenti più recenti su tutti i commenti e i suggerimenti.
Estensione: possibilità di creare estensioni personalizzate
- Estensioni di Visual Studio: è possibile adattare Visual Studio alle specifiche esigenze creando estensioni personalizzate.
- Individuabilità dei modelli di progetto ed elemento: è stata apportata una modifica sostanziale al modo in cui Visual Studio usa i modelli di progetto ed elemento per migliorare le prestazioni della funzionalità di individuazione dei modelli.
Dotazione: usare gli strumenti per aumentare la produttività ed esplorare nuove funzionalità
- .NET Core e ASP.NET Core: è disponibile la versione finale 1.0 dei nuovi strumenti per Microsoft .NET Core basati su MSBuild. Con Visual Studio 2017 è possibile creare librerie .NET Standard, librerie e app .NET Core e progetti Web ASP.NET che usano il nuovo formato csproj.
- Strumenti per lo sviluppo di app di Windows universali: gli aggiornamenti includono una nuova versione della toolchain .NET Native, il framework NuGet di .NET Core, nuovi strumenti di produttività e il supporto per Windows 10 "Creators Update" SDK.
- Xamarin: Xamarin 4.3 aggiunge il supporto per tvOS e migliora il supporto per il catalogo asset di iOS e l'esperienza di modifica XML.
- Strumenti di Visual Studio per Apache Cordova: è stato aggiunto un nuovo simulatore basato su browser che consente di creare velocemente il codice e visualizzare i risultati immediatamente.
- Node.js Tools for Visual Studio: gli aggiornamenti sono incentrati sulla stabilità, sulle prestazioni e sulla qualità complessiva del prodotto.
- Visual Studio Tools per Unity: Visual Studio Tools per Unity 3 è ora disponibile con il carico di lavoro "Sviluppo di giochi con Unity" nel nuovo programma di installazione di Visual Studio.
- Redgate Data Tools: per estendere le funzionalità DevOps all'ambiente di sviluppo di database SQL, Visual Studio include ora Redgate Data Tools, che comprende Redgate ReadyRoll Core, SQL Search e SQL Prompt Core.
- NuGet: NuGet supporta ora l'archiviazione di informazioni sulle dipendenze dei pacchetti direttamente nei file di progetto come riferimenti ai pacchetti, mantenendo i progressi raggiunti con i riferimenti transitivi ai pacchetti.
- Strumenti per le app XAML: la barra degli strumenti di runtime di XAML ora consente di tenere traccia dello stato attivo. La produttività XAML è stata migliorata con Modifica e continuazione per XAML, i miglioramenti apportati all'editor XAML e l'ottimizzazione delle prestazioni.
- Data Tools e SQL Server: l'aggiornamento più recente di SQL Server Data Tools abilita il supporto per le funzionalità più recenti del database SQL di Azure e di SQL Server 2016.
- Developer Analytics Tools: Visual Studio 2017 include Developer Analytics Tools versione 8.6, con numerosi miglioramenti alle funzionalità Application Insights e HockeyApp di Visual Studio.
- Office Developer Tools per Visual Studio: include Office Developer Tools con le funzionalità e gli aggiornamenti più recenti.
- Convalida delle dipendenze architetturali in tempo reale: sono state aggiunte notifiche in tempo reale relative ai diagrammi di convalida delle dipendenze (noti anche come diagrammi livello).
- Prompt dei comandi per gli sviluppatori: gli script sono stati sottoposti a refactoring, in modo da supportare la nuova esperienza di installazione.
- Azure SDK per .NET: è ora disponibile nel nuovo programma di installazione di Visual Studio.
Dettagli delle novità nella versione 15.0 (26228.04)
Dettagli di Visual Studio 2017 versione 15.0 (26228.04)
Rilascio: 7 marzo 2017
Esperienza di installazione
Siamo lieti di presentare il nuovo programma di installazione completamente riprogettato:
- Riduzione del footprint minimo di Visual Studio
- Installazione più veloce, con minore impatto sul sistema e possibilità di disinstallazione completa.
- Selezione e installazione semplificate delle sole funzionalità necessarie
Quando si installa Visual Studio 2017 per la prima volta, la nuova esperienza è immediatamente visibile (Figura 1):
L'installazione minima ha una dimensione di poche centinaia di megabyte, ma contiene comunque il supporto per le modifiche di base del codice per più di venti linguaggi, incluse funzionalità di controllo del codice sorgente. La maggior parte degli utenti preferisce installare più componenti, è pertanto possibile aggiungere uno o più "carichi di lavoro" che rappresentano i framework, i linguaggi e le piattaforme più comuni, in grado di supportare qualsiasi attività, dallo sviluppo desktop .NET allo sviluppo di giochi con Unity.
Come aggiornare Visual Studio
Per aggiornare Visual Studio, eseguire il programma di installazione di Visual Studio e fare clic sul pulsante Aggiorna.
Commenti e suggerimenti sul nuovo programma di installazione
È possibile segnalare problemi o inviare commenti di apprezzamento tramite i comandi Segnala un problema e Invia un suggerimento del nuovo client di installazione nell'angolo superiore destro della barra del titolo. Segnalare eventuali errori durante l'installazione, la disinstallazione o la modifica dell'installazione, nonché tempi di installazione anomali, ad esempio eventuali blocchi, oppure messaggi di errore imprevisti.
Creazione di un layout per l'installazione offline e nuovo supporto per l'installazione dalla riga di comando
Gli amministratori di sistema e altri utenti possono ora creare un layout offline di Visual Studio che include tutto il contenuto necessario per installare il prodotto senza richiedere l'accesso a Internet. Questo layout può essere il prodotto completo, un sottoinsieme di carichi di lavoro e/o componenti e una o più impostazioni locali del prodotto. Si noti che per creare un layout offline è necessario l'accesso a internet. Per altre informazioni, vedere Create an offline installation of Visual Studio 2017 (Creare un'installazione offline di Visual Studio 2017).
Nome alternativo per l'installazione
Visual Studio Enterprise e Community (tra gli altri prodotti) può essere installato side-by-side nello stesso computer. Per semplificare l'identificazione di queste installazioni, è possibile specificare un nome breve o "nome alternativo". Ad esempio, se si intende installare Visual Studio Enterprise e successivamente Community, entrambi verranno visualizzati nel menu Start. È possibile assegnare al secondo un nome alternativo, ad esempio "community", e le voci del menu Start verranno visualizzate con nomi quali "Visual Studio 2017 (community)" e "Prompt dei comandi per gli sviluppatori per Visual Studio 2017 (community)".
IDE di Visual Studio
Miglioramenti all'IDE
- Visual Studio è stato ottimizzato per ridurre il tempo di avvio e il tempo di caricamento della soluzione. La velocità del primo avvio di Visual Studio è stata migliorata almeno del 50%.
- Visual Studio monitorerà le prestazioni delle estensioni che incidono sull'avvio, sul caricamento della soluzione o sulla modifica. Si riceveranno avvisi in caso di prestazioni scadenti delle estensioni tramite la barra di notifica nell'IDE. Il nuovo Centro prestazioni (disponibile anche tramite La gestione > delle prestazioni di Visual Studio) consente di visualizzare non solo le estensioni che influiscono sulle prestazioni, ma anche individuare le finestre degli strumenti che influiscono sulle prestazioni di avvio e modificare il comportamento di caricamento di avvio.
- Nel nuovo programma di installazione di Visual Studio è possibile selezionare l'estensione GitHub per Visual Studio.
- La funzionalità che consentiva di caricare tutti i progetti è stata sostituita dalla funzionalità Ricarica soluzione, in modo da offrire migliori prestazioni durante il passaggio di rami esternamente a Visual Studio. Quando si usa la riga di comando Git per cambiare rami, scegliere Reload Solution (Ricarica soluzione) dopo aver cambiato ramo per ottenere il miglioramento massimo delle prestazioni.
- Le funzionalità di glob dei file per i progetti .NET Core e ASP.NET Core sono state migliorate. Per approfondimenti, vedere le informazioni sul glob dei file di progetto.
- Ora si passa automaticamente alla visualizzazione cartelle del repository dopo la clonazione. È possibile visualizzare i file o aprire le soluzioni con il nuovo elenco di selezione della soluzione in Esplora soluzioni.
- È stato introdotto un nuovo host di servizio esterno che sostituirà VSHub. Questo nuovo host di servizio è un processo esterno e verrà visualizzato in Gestione attività come ServiceHub.Host.CLR.*.exe, oltre a ServiceHub.Host.Node.x86.exe. Questo host eliminerà infine il traffico HTTP localhost introdotto con VSHub che allevierà il rumore segnalato dagli utenti di Fiddler.
- I messaggi di scadenza della licenza per la versione preliminare indicano in modo più chiaro lo stato corrente della licenza stessa.
- La finestra di dialogo Impostazioni account risulta ora più accessibile alle utilità di lettura dello schermo.
- È ora possibile usare la Guida offline installando il componente Help Viewer del programma di installazione di Visual Studio.
- È ora possibile aggiungere e rimuovere più lingue dell'interfaccia utente in qualsiasi momento usando il programma di installazione di Visual Studio nella scheda Language Pack. È possibile selezionare la lingua dell'interfaccia utente corrente tra quelle installate usando Opzioni strumenti > > Impostazioni internazionali.
- La barra di stato di controllo della versione semplifica la pubblicazione di repository locali in un host SCC nonché il monitoraggio di transazioni non sottoposte a commit (Figura 2) e senza push (Figura 3).
Miglioramenti relativi all'accesso e all'identità
È stato introdotto un nuovo servizio di identità che permette di condividere gli account utente nei diversi strumenti di sviluppo Microsoft. All'interno di Visual Studio questa condivisione include funzionalità come Team Explorer, gli strumenti di Azure, la pubblicazione su Windows Store e così via. Queste funzionalità condividono ora un'esperienza di accesso comune e coerente.
Oltre ai miglioramenti apportati a Visual Studio, è stata completata la distribuzione di alcuni miglioramenti sul lato del servizio che consentono agli utenti di restare connessi in modo sicuro, evitando l'accesso forzato ogni 12 ore. Questo risolve il problema segnalato più di frequente relativamente all'accesso. Altre informazioni sulla riduzione dei prompt in Visual Studio.
Pagina iniziale
È ora disponibile una pagina iniziale rinnovata con nuove funzionalità per l'apertura e la creazione:
- È possibile acquisire repository remoti da VSTS o usare l'elenco dei file usati di recente (MRU), ora più visibile, per aprire con facilità soluzioni e progetti locali.
- L'elenco degli ultimi elementi usati nella pagina iniziale mostra i repository clonati negli altri computer. In questo modo, è possibile clonarli facilmente nel computer corrente.
- È possibile creare un nuovo progetto direttamente dalla pagina iniziale con i modelli disponibili per la ricerca e un elenco di modelli usati di recente. I modelli usati di recente saranno anche disponibili in istanze diverse di Visual Studio con un account di personalizzazione.
- È possibile avviare rapidamente la nuova esperienza per la clonazione da VSTS tramite l'opzione "Estrai da VSTS" nella pagina iniziale.
- La sezione "Attività iniziali" può essere chiusa facilmente.
- La sezione Notizie è ora collapible:
- Notifica aggiornata per i nuovi elementi aggiunti al newsfeed.
- Notifica nell'espansore del newsfeed se compaiono nuovi elementi quando il newsfeed è compresso.
- Progettazione visiva rivista in risposta alle segnalazioni degli utenti in merito agli elementi troncati sugli schermi più piccoli e all'utilizzo dello spazio vuoto.
Di seguito è illustrata la nuova pagina iniziale (Figura 4).
Esplorazione del codice migliorata
Le funzionalità di esplorazione del codice sono state migliorate significativamente in Visual Studio 2017:
- Vai a tutti (
Ctrl+
oCtrl+ T
) consente di trovare e visualizzare rapidamente file, tipi, metodi e altri elementi nel codice. Permette di individuare elementi di qualsiasi tipo, anche nelle codebase di grandi dimensioni. Inoltre, se si conosce il tipo di elemento cercato, è possibile applicare facilmente un filtro. In C#, Visual Basic e F# è stata aggiunta una corrispondenza "fuzzy", in modo che sia possibile ottenere il risultato anche se un nome di tipo non è stato digitato correttamente. L'esperienza Vai alla riga (Ctrl + G
) è stata modernizzata. È possibile passare alla famiglia di comandi Vai a nella parte superiore del menu Modifica (Figura 5) e (Figura 6).
- La funzionalità Trova tutti i riferimenti (MAIUSC+F12) è stata migliorata (attualmente per C#, Visual Basic, F# e C++) con l'aggiunta di funzionalità avanzate di raggruppamento, filtro, ordinamento, ricerca nei risultati e colorazione dei risultati (per C# e VB), in modo che sia possibile comprendere chiaramente i riferimenti e passare con sicurezza alla riga di codice necessaria. Al passaggio del mouse su un elemento di riferimento viene visualizzata una descrizione con il contesto del riferimento nel codice sorgente (per C# e VB). Attivando e disattivando il pulsante Mantieni risultati sulla barra degli strumenti, la successiva chiamata di Trova tutti i riferimenti inserirà i risultati dei riferimenti in una nuova finestra. Ciò consente di mantenere i risultati correnti nella finestra esistente (Figura 7).
- Linee guida di struttura vengono ora disegnate nell'editor in modo che sia possibile visualizzare con facilità la struttura del codice a cui si lavora. Al passaggio del mouse viene visualizzata una descrizione (Figura 8) che contiene il contesto del blocco di codice corrente relativo ai suoi blocchi predecessore. Le guide per strutture sono attualmente supportate per i file C#, Visual Basic, F# e XAML e per qualsiasi file supportato da grammatiche TextMate. Questa funzionalità può essere disabilitata nella finestra di dialogo Opzioni strumenti > deselezionando la casella di controllo Mostra linee guida struttura nella categoria Editor>di testo Generale .
Supporto delle convenzioni di scrittura del codice tramite EditorConfig
L'editor di Visual Studio supporta ora EditorConfig, che consente agli sviluppatori di definire e mantenere convenzioni coerenti per lo stile di codifica tra diversi editor e IDE. Per altri dettagli, vedere la documentazione. Per informazioni su come usare i file .editorconfig per controllare lo stile di codifica .NET, vedere la documentazione di .NET.
Aprire la cartella
Apri cartella offre un modo semplice per usare le codebase senza progetti e soluzioni. È possibile visualizzare la funzionalità Apri cartella dalla barra dei menu facendo clic su File>Apri>Cartella, quindi selezionare una cartella da esplorare. È possibile aprire e modificare i file in Esplora soluzioni (Figura 9). Molti linguaggi diffusi presentano l'evidenziazione della sintassi e il supporto per la navigazione basata su simboli (GoTo).
Alcuni linguaggi sono inoltre dotati di supporto avanzato di IntelliSense e del debug direttamente dalla cartella:
- C++ (CMake)
- Node.js - JavaScript/TypeScript
- C# e VB.
È possibile compilare o eseguire il debug con F5 e il menu di scelta rapida del file in Esplora soluzioni. Per risultati ottimali assicurarsi di installare il carico di lavoro per le lingue con cui si lavora.
La visualizzazione cartelle supporta anche le funzioni seguenti:
- Eseguire ricerche nel codice contenuto nella cartella con GoTo (
Ctrl+
). - Definire l'ambito per la visualizzazione delle cartelle di Esplora soluzioni sulle sottocartelle.
- Aprire le cartelle in Esplora risorse o il prompt dei comandi da Esplora soluzioni.
- Passare rapidamente da una soluzione a un'altra nella cartella o nel repository aperto con l'elenco a discesa per la selezione della soluzione.
- Configurare le impostazioni di debug e avvio con launch.vs.json. Fare clic con il pulsante destro del mouse su un file di cui è possibile eseguire il debug e selezionare Impostazioni per debug e avvio.
- Configurare le attività e personalizzare la compilazione con tasks.vs.json. Fare clic con il pulsante destro del mouse su qualsiasi file e selezionare Configure Task Settings (Configura impostazioni attività).
- Launch.vs.json e tasks.vs.json hanno IntelliSense nell'editor JSON.
Le prestazioni di apertura delle cartelle e di passaggio tra la visualizzazione cartelle e la visualizzazione soluzione sono state migliorate in misura significativa.
Caricamento leggero soluzioni
La funzionalità Caricamento leggero soluzioni consente un caricamento più veloce delle soluzioni di grandi dimensioni e può consentire un miglioramento sostanziale nel tempo di caricamento della soluzione e nell'uso della memoria. La funzionalità non è abilitata per impostazione predefinita e può essere attivata nell'IDE per la singola soluzione o globalmente. Per abilitare a livello globale, passare a Opzioni strumenti > , selezionare Generale in Progetti e soluzioni (figura 10) o cercando "Caricamento leggero soluzioni" con Avvio rapido. La funzionalità può essere attivata e disattivata per la singola soluzione nel riquadro delle proprietà della soluzione.
La funzionalità Caricamento leggero soluzioni è ideale per le soluzioni di grandi dimensioni che contengono progetti C# o una combinazione di progetti C# e C++. Quando si lavora con soluzioni di grandi dimensioni può essere richiesto di abilitare la funzionalità.
Sono state notevolmente migliorate le prestazioni delle build complete della soluzione, ora conformi al carico convenzionale della soluzione.
Supporto per la colorazione e il completamento automatico della sintassi, i frammenti di codice e la ricerca tramite Passa a per un set più ampio di linguaggi
Oltre al supporto aggiunto negli aggiornamenti di Visual Studio 2015, in Visual Studio 2017 è stato incluso il supporto per la colorazione e il completamento automatico della sintassi per una più ampia gamma di linguaggi.
Inoltre, alcuni di questi linguaggi supportano anche lo spostamento tramite "Passa a" (Ctrl+
) e/o Frammenti di codice.
I file relativi ai linguaggi elencati di seguito supportano queste funzionalità nel nuovo Editor principale di Visual Studio, anche quando non sono stati installati carichi di lavoro per supportare in modo esplicito il linguaggio in questione. Se è installato un carico di lavoro che offre il supporto per un linguaggio (ad esempio, per lo sviluppo di applicazioni desktop .NET, per lo sviluppo di applicazioni per Windows Desktop con C++ e così via), possono essere disponibili funzionalità più estese per tale linguaggio, incluse la tecnologia IntelliSense e altre funzionalità avanzate come la visualizzazione di lampadine nel codice.
Tipi di file di linguaggio elencati in base al livello di supporto:
- Supporta solo la colorazione della sintassi e il completamento automatico:
- Bat, Clojure, CoffeeScript, CSS, Docker, F#, Groovy, INI, Jade, Javadoc, JSON, LESS, LUA, Make, Markdown ++, Objective-C, Perl, PowerShell, Python, Rust, ShaderLab, SQL, Visual Basic .NET, YAML.
- Supporta frammenti di codice (oltre alla colorazione della sintassi e al completamento automatico):
- CMake, C++, C#, Go, Groovy, HTML, Java, Javadoc, JavaScript, Lua, Perl, PHP, R, Ruby, Shellscript, Swift, XML.
- Supporta Navigate To (oltre alla colorazione della sintassi e al completamento automatico):
- C++, C#, Go, Java, JavaScript, PHP, TypeScript, Visual Basic.
Introduzione alle pagine di panoramica del progetto
È stata introdotta un'esperienza iniziale completamente rinnovata per i progetti creati di recente. Sono state sostituite le pagine iniziali correnti con una scheda Panoramica in Progettazione configurazione applicazione e le pagine sono state incentrate sulle azioni che sarà possibile eseguire a breve. Queste novità sono state abilitate in progetti ASP.NET 4.x, ASP.NET Core e Cordova (Figura 11).
Connessione ai servizi mediante Servizi connessi
In una versione precedente, questa funzionalità è stata denominata Funzionalità del servizio. Il nome è stato modificato in Servizi connessi.
Servizi connessi è la versione moderna della funzionalità "Aggiungi servizio connesso" o "Aggiungi riferimento al servizio" di Visual Studio 2017. La funzionalità Servizi connessi semplifica la connessione dell'app ai servizi. Un nuovo nodo denominato "Servizi connessi" è disponibile in Esplora soluzioni per i tipi di progetto Web e per dispositivi mobili. Facendo doppio clic sul nodo verrà aperta in Visual Studio una nuova scheda a piena pagina in cui è possibile individuare noti servizi Microsoft a cui connettersi.
Se si seleziona un servizio nella pagina Servizi connessi (Figura 12), viene chiamata la procedura guidata che consente di configurare il progetto e scaricare i pacchetti NuGet necessari per iniziare a scrivere il codice per il servizio in modo rapido e senza problemi.
Acquisizione all'interno del prodotto di strumenti e funzionalità
Visual Studio 2017 consente di acquisire carichi di lavoro e componenti aggiuntivi senza uscire dall'IDE (Figura 13). Sfruttare i vantaggi offerti da Avvio veloce per trovare e avviare il Programma di installazione di Visual Studio per ogni componente del carico di lavoro o di un utente singolo.
Se i modelli che si vogliono usare non sono disponibili, è possibile aprire il programma di installazione di Visual Studio anche all'interno della finestra di dialogo Nuovo progetto (Figura 14).
Visual C++
In Visual Studio 2017 sono stati inclusi numerosi aggiornamenti e correzioni per l'ambiente Visual C++. Microsoft ringrazia i clienti per le segnalazioni inviate. Sono stati corretti più di 250 bug e problemi nel compilatore e negli strumenti, molti dei quali sono stati segnalati dai clienti attraverso Microsoft Connect. In questa versione sono state migliorate le prestazioni di STL. Il nuovo motore di database basato su SQLite viene ora usato per impostazione predefinita. Questo consente di velocizzare le operazioni sui database, ad esempio come Vai a definizione e Trova tutti i riferimenti, e migliora significativamente il tempo di analisi iniziale della soluzione. È ora disponibile un'esperienza più granulare per l'installazione del carico di lavoro per C++ originario. Sono stati aggiunti componenti selezionabili che consentono di installare solo gli strumenti necessari. Il supporto per CMake in Visual Studio è ora disponibile. Caricare i progetti CMake direttamente in Visual Studio e iniziare subito a scrivere codice. L'esperienza "Apri cartella" in C++ è stata migliorata ed è ora possibile portare il codice sorgente in Visual Studio senza dover creare progetti e soluzioni Visual Studio. Passa a è stato sostituito da Vai a che include nuovi filtri di navigazione. In questo modo è più semplice individuare i risultati corretti, in particolare in basi di codici di grandi dimensioni.
Analisi del codice C++
I controlli di base per C++ per l'applicazione delle C++ Core Guidelines (Linee guida di base per C++) ora sono distribuiti con Visual Studio. Per includere le estensioni quando si esegue l'analisi del codice, è sufficiente abilitare i controlli nella finestra di dialogo delle estensioni di analisi del codice nelle pagine delle proprietà del progetto (Figura 15).
Compilatore C++
Sono inclusi aggiornamenti al compilatore C++ e alla libreria standard, con supporto avanzato per funzionalità di C++11 e C++14, oltre al supporto preliminare per determinate funzionalità che si prevede verranno incluse nello standard C++17. Con il supporto per la parola chiave constexpr generalizzata e NSDMI per le aggregazioni, il compilatore è stato completato per le funzionalità aggiunte nello Standard C++14. Si noti che il compilatore manca ancora di alcune funzionalità relative agli standard C++11 e C++98. Visual Studio 2017 consente l'uso di /sdl con /await. È stata anche rimossa la limitazione /rtc con le coroutine.
In questa versione sono stati introdotti numerosi miglioramenti per l'ottimizzazione e la generazione del codice. Ecco alcuni dei miglioramenti più rilevanti:
- Miglioramento della generazione del codice per i cicli: supporto della vettorializzazione automatica della divisione di interi costanti e migliore identificazione dei modelli memset.
- Maggiore sicurezza del codice: è stata migliorata l'emissione della diagnostica del compilatore per i sovraccarichi del buffer e /guard:cf protegge ora le istruzioni switch che generano tabelle di collegamento.
- L'opzione /debug:fastlink è stata migliorata in modo da consentire tempi di collegamento più veloci del 30% su componenti di grandi dimensioni rispetto a Visual Studio 2015.
- Quando si usano coroutine, la parola chiave sperimentale "yield" (disponibile sotto l'opzione /await) è stata rimossa. È necessario aggiornare il codice per l'uso di "co_yield". Per altre informazioni, vedere il blog del team di Visual C++.
Librerie C++
- [STL] Sono state migliorate le prestazioni di basic_string.
- [STL] Sono stati aggiunti <any>, <string_view>, apply() e make_from_tuple().
- [STL] Sono stati apportati miglioramenti a std::vector in termini di correttezza e prestazioni.
- [STL] La libreria STL ora evita la dereferenziazione dei puntatori null ricercati.
- [STL] Sono stati aggiunti <optional>, <variant>, shared_ptr::weak_type e <cstdalign>.
- [STL] È stato abilitato constexpr C++14 in min/max/minmax(initializer_list) e min_element/max_element/minmax_element().
- [STL] Sono state migliorate le prestazioni (più che triplicate) per i costruttori di spostamento std::string/std::wstring.
- [STL] Per un elenco completo dei miglioramenti apportati a STL, vedere il blog del team di Visual C++.
- [ATL] È disponibile un altro set di correzioni per la conformità della ricerca dei nomi.
- [ATL] I costruttori di spostamento e gli operatori di assegnazione dello spostamento esistenti sono ora contrassegnati correttamente in modo da non generare eccezioni.
- [ATL] È stata annullata l'eliminazione dell'avviso valido C4640 relativo all'inizializzazione thread-safe di elementi statici locali in atlstr.h.
- [ATL] L'inizializzazione thread-safe di elementi statici locali veniva disattivata automaticamente nel set di strumenti XP quando [si usava ATL e si compilava una DLL]. Questo non si verifica più. È possibile aggiungere /Zc:threadSafeInit- nelle impostazioni del progetto se si vuole disattivare l'inizializzazione thread-safe.
- [AMP] Controllo della libreria e correzione di errori ortografici.
- [VCRuntime] Nuova intestazione 'cfguard.h' per i simboli di protezione del flusso di controllo.
IDE C++
Le prestazioni di modifica della configurazione sono ora migliori per i progetti nativi C++ e molto migliori per i progetti C++/CLI. La prima attivazione di una configurazione della soluzione è ora più veloce e tutte le attivazioni successive saranno quasi immediate.
Il nuovo motore di database basato su SQLite viene ora usato per impostazione predefinita. Questo consente di velocizzare le operazioni sui database, ad esempio come Vai a definizione e Trova tutti i riferimenti, e migliora significativamente il tempo di analisi iniziale della soluzione. L'impostazione è stata spostata in Strumenti > Opzioni > Editor > di testo C/C++ > Avanzate (in precedenza in ... C/C++ > Sperimentale).
Le prestazioni di IntelliSense sono state migliorate su progetti e file senza intestazioni precompilate. Per le intestazioni nel file corrente verrà creata un'intestazione automatica precompilata.
Altri aggiornamenti includono:
- Sono state aggiunte funzioni di filtro e guida per gli errori di IntelliSense presenti nell'elenco errori (Figura 16). È ora possibile fare clic sulla colonna degli errori per applicare un filtro (Figura 17). È inoltre possibile fare clic su errori specifici o premere F1 per avviare la ricerca online del messaggio di errore.
- È stata aggiunta la possibilità di filtrare per tipo gli elementi dell'elenco dei membri (Figura 18).
È stata aggiunta una nuova funzionalità sperimentale IntelliSense predittivo che fornisce un elenco di risultati filtrato e compatibile con il contesto per l'elenco dei membri.
La nuova interfaccia utente Trova tutti i riferimenti offre informazioni che indicano se è in corso la lettura o la scrittura in una variabile nei risultati per il codice C++.
La funzionalità IntelliSense "da punto a freccia" è passata dalla fase sperimentale alla fase avanzata ed è ora abilitata per impostazione predefinita. Anche le funzionalità dell'editor Espandi ambito ed Expand Precedence (Espandi precedenza) sono passate dalla fase sperimentale alla fase avanzata.
Le funzionalità di refactoring sperimentali Cambia firma ed Estrai funzione sono ora disponibili per impostazione predefinita.
È stata abilitata la nuova funzionalità sperimentale per il caricamento più rapido dei progetti C++. Alla prossima apertura, un progetto C++ verrà caricato più velocemente e la volta successiva ancora più velocemente.
Sono stati apportati miglioramenti all'esperienza Apri cartella. Modificare, compilare ed eseguire il debug del progetto C++ non MSBuild caricando le origini tramite "Apri cartella". Personalizzare l'esperienza tramite i file json seguenti:
- CppProperties.json per personalizzare l'esperienza IntelliSense e di esplorazione.
- Tasks.vs.json per personalizzare le procedure di compilazione.
- Launch.vs.json per personalizzare l'esperienza di debug.
IntelliSense C++ funzionerà senza necessità di creare un file CppProperties.json nella cartella radice. È stato anche aggiunto un nuovo elenco a discesa per consentire agli utenti di passare facilmente tra le configurazioni fornite dai file CMake e CppProperties.json. Supporto CMake per Apri cartella: aprendo i progetti CMake con "Apri cartella" si configura automaticamente l'ambiente per la modifica, la compilazione e il debug in C++.
Supporto per configurazione aggiuntiva tramite un file CMakeSettings.json, che si trova nella stessa cartella del file CMakeLists.txt (Figura 19).
- Supporto di CMake:
- Per una panoramica del supporto per CMake, vedere il blog del team di Visual C++.
- Altre informazioni sul supporto per CMake sono disponibili nel video di 10 minuti CMake.
- Sviluppo Linux con C++: vedere il video Linux.
Carichi di lavoro di installazione per C++
Sviluppo per Windows Desktop con C++:
È ora disponibile un'esperienza più granulare per l'installazione del carico di lavoro per C++ originario. Sono stati aggiunti componenti selezionabili che consentono di installare solo gli strumenti necessari. Si noti che le dimensioni di installazione indicate per i componenti elencati nell'interfaccia utente del programma di installazione non sono precise e sottovalutano la dimensione totale.
Per creare progetti Win32 nel carico di lavoro per desktop C++, è necessario installare un set di strumenti e un SDK Windows. L'installazione dei componenti consigliati (selezionati) "Set di strumenti VC++ 2017 versione 141 (x86, x64)" e "Windows 10 SDK (10.0.14393)" ne garantirà il funzionamento. Se gli strumenti necessari non vengono installati, i progetti non verranno creati e la procedura guidata verrà interrotta.
Sviluppo per Linux con C++:
- L'estensione comune Visual C++ for Linux Development ora fa parte di Visual Studio. Questa installazione include tutto il necessario per lo sviluppo e il debug di applicazioni C++ in esecuzione in un ambiente Linux.
Sviluppo di giochi con C++:
- Usare tutta la potenza di C++ per compilare giochi professionali con tecnologia DirectX o Cocos2d.
Sviluppo di app per dispositivi mobili con C++ (Android e iOS):
- Usando Visual Studio è ora possibile creare app per dispositivi mobili destinate ad Android e iOS ed eseguirne il debug.
Sviluppo per la piattaforma UWP:
- C++ viene fornito come componente facoltativo del carico di lavoro per lo sviluppo della piattaforma UWP. Attualmente l'aggiornamento di progetti C++ deve essere eseguito manualmente. Quando si apre un progetto UWP destinato a v140 in Visual Studio 2017, se Visual Studio 2015 non è installato è necessario selezionare il set di strumenti della piattaforma v141 nelle pagine delle proprietà del progetto.
Set di strumenti della piattaforma Clang/C2
Il set di strumenti Clang/C2 incluso in Visual Studio 2017 supporta ora l'opzione /bigobj, essenziale per lo sviluppo di progetti di grandi dimensioni. Include inoltre alcune importanti correzioni di bug sia sul front-end che sul back-end del compilatore.
C# e Visual Basic
Estensioni del linguaggio
Questa versione introduce il supporto per le funzionalità dei linguaggi C# 7.0 e Visual Basic 15, incluse le seguenti:
Per C#:
- Tipi restituiti simili a oggetti Task per i metodi asincroni: introduce la possibilità di restituire qualsiasi tipo simile agli oggetti Task da un metodo asincrono. In precedenza i tipi restituiti erano limitati a
Task<T>
eTask
. - Le tuple di valori introducono nei linguaggi il supporto per raggruppare temporaneamente un set di valori tipizzati. Per altre informazioni, vedere le note sulla progettazione in GitHub.
- Le funzioni locali nidificate estendono il linguaggio con il supporto della dichiarazione di funzioni nell'ambito di un blocco.
- Le estensioni dei criteri di ricerca consentono di sfruttare molti vantaggi dei tipi di dati algebrici e dei criteri di ricerca caratteristici dei linguaggi funzionali.
- I valori restituiti ref consentono alle funzioni di restituire valori in base ai riferimenti.
Per Visual Basic:
- Le tuple di valori introducono nei linguaggi il supporto per raggruppare temporaneamente un set di valori tipizzati:
Dim point As (x As Integer, y As Integer) = GetOffset()
. - L'uso di valori restituiti ByRef estende il linguaggio per supportare l'uso di funzioni e proprietà dalle librerie che hanno valori restituiti ByRef.
- I valori letterali binari e i separatori di gruppi di cifre consentono la rappresentazione nativa dei numeri binari. Questo è estremamente comodo per le maschere di bit e le enumerazioni Flags:
&B1001_0011
.
Per altre informazioni, seguire la progettazione dei linguaggi in CSharpLang GitHub e VBLang GitHub in cui vengono descritte queste e altre proposte di estensioni.
Azioni rapide e refactoring
Visual Studio offre numerose funzionalità di refactoring che assicurano un aumento della produttività e migliorano la leggibilità del codice. tra cui i seguenti:
- Inizializzazione degli oggetti semplificata tramite un inizializzatore (Figura 20).
- Possibilità di spostare le
out
dichiarazioni di variabili inline usando una nuova funzionalità di C#7 (Figura 21).
- Semplificazione dei controlli Null e delle espressioni throw usando l'operatore di unione Null tramite una nuova funzionalità di C#7 (Figura 22).
- Spostamento di un tipo in un file corrispondente: è possibile estrarre un tipo da un file e inserirlo in un altro file con un nome corrispondente eseguendo una sola operazione tramite
Ctrl+
. - Sincronizzazione del nome del tipo e del nome file: se il nome file e il nome del tipo non sono sincronizzati, è possibile usare
Ctrl+
. - Conversione di
String.Format
in interpolazione di stringa: sfruttare la funzionalità del linguaggio C# 6 con questa azione rapida. - Aggiunta di occorrenze mancanti a un'opzione di comando C# o a un'istruzione Select di Visual Basic.
- Conversione di una proprietà in metodo e viceversa.
- Aggiunta di un riferimento al pacchetto: è possibile recuperare automaticamente e installare un pacchetto NuGet (e aggiungere using/Import) per un tipo non riconosciuto. Per abilitare questa funzionalità, passare a Strumenti > Opzioni Editor > di testo [C# / Basic] Advanced Suggest usings for types in reference assemblies/Suggest usings for types in NuGet packages (Strumenti opzioni > editor di testo [C# / Basic] > Advanced > Suggest usings for types in reference assemblies/Suggest usings for types in NuGet packages (Suggerisci l'uso di tipi nei pacchetti NuGet).
- Possibilità di sincronizzare i metodi asincroni, dove applicabile.
- Supporto per la corrispondenza "fuzzy"per i tipi con errori di digitazione.
Configurazione e imposizione della codifica
In base al supporto di Visual Studio per EditorConfig, grazie ai suggerimenti della community sono state aggiunte impostazioni di stile di codice .NET al formato di file. Ciò consente quindi di configurare le convenzioni relative allo stile del codice del team, verificarle nel controllo del codice sorgente e visualizzare eventuali violazioni nell'editor man mano che gli sviluppatori procedono con la digitazione. È possibile visualizzare tutte le opzioni dello stile del codice nell'area .editorconfig del repository Roslyn o nella documentazione. È possibile continuare a configurare le impostazioni di stile del codice specifiche del computer in Strumenti > Opzioni > Editor > di testo [C#/Basic] > Stile del codice e queste regole vengono sostituite quando è presente e in conflitto un EditorConfig.
Sono stati aggiunti/aggiornati tre nuovi analizzatori di stile per semplificare la personalizzazione e l'applicazione delle convenzioni di codifica nel team, come illustrato di seguito:
- Regole di stile di denominazione
- Uso di
var
o di tipi espliciti. - Uso di
this.
oMe.
su accesso ai membri. - Uso di blocchi o corpi di espressione.
- Uso dei criteri di ricerca per controlli
cast
enull
. - Uso di nomi di tupla espliciti.
- Semplificazione dei check null con espressioni throw, dei delegati condizionali, delle espressioni coalesce e della propagazione null.
- Sono necessarie le parentesi graffe.
Nota: alcune di queste regole relative allo stile del codice sono configurate per impostazione predefinita nell'editor come suggerimenti (Figura 23).
Miglioramenti di IntelliSense
Questa versione introduce anche alcuni miglioramenti di IntelliSense che aumenteranno la produttività degli utenti quando usano una soluzione di grandi dimensioni o una codebase con cui non hanno familiarità. In IntelliSense è stata aggiunta una barra che consente di filtrare l'elenco dei membri in base al tipo, ad esempio metodi, proprietà, classi e così via. Sono stati definiti tasti di scelta rapida che consentono di attivare e disattivare i filtri. Per individuare i tasti di scelta rapida, passare il mouse sopra l'icona. Per abilitare questa funzionalità, passare a Strumenti>Opzioni>Editor di testo>[C# / Basic]> IntelliSense e selezionare le opzioni per il filtro e l'evidenziazione (Figura 24).
Altri miglioramenti apportati all'editor
- È ora possibile dividere una stringa lunga in più stringhe concatenate posizionando il cursore a metà di tale stringa e premendo
Enter
. - È stato eseguito un notevole lavoro per migliorare la velocità di risposta dell'IDE in presenza di operazioni in background che calcolano informazioni di diagnostica e di CodeLens.
F#
Supporto delle funzionalità del linguaggio F# 4.1
- Tuple di struct interoperabili con le tuple C# 7/VB 15.
- Valori restituiti ByRef che supportano l'utilizzo di valori restituiti C# 7 ref.
- Supporto di record struct con l'attributo
[<Struct>]
(di Will Smith). - Supporto dell'unione discriminata di struct con l'attributo
[<Struct>]
. - Nuovo tipo
Result<'TSuccess, 'TFailure>
, con le funzioni di supporto in FSharp.Core (di Oskar Gewalli). - Parola chiave
fixed
, che supporta l'aggiunta di una variabile locale di tipo puntatore nello stack. - Caratteri di sottolineatura nei valori letterali numerici (di Avi Avni.
- Argomenti di attributi informativi sul chiamante (di Lincoln Atkinson e Avi Avni).
- Tipi e moduli con referenzialità reciproca all'interno dello stesso file tramite
namespace rec
emodule rec
. - Suffisso "Module" implicito nei moduli che condividono lo stesso nome come tipo.
Miglioramenti al compilatore F# e FSharp.Core
(Molti realizzati dalla community di F#)
- Messaggi di errore migliorati (di Steffen Forkmann, Isaac Abraham, Libo Zeng, Gauthier Segay, Rick Minerich e altri).
- Miglioramenti delle prestazioni del compilatore F# (di Microsoft, Gustavo Leon, Steffen Forkmann, Libo Zeng e altri).
- Miglioramenti delle prestazioni in FSharp.Core (di Microsoft, Jack Mott, Steffen Forkmann, Libo Zeng, Paul Westcott, Zp Bappi, Victor Baybekov e altri).
- Miglioramenti nell'interoperabilità tra C# e F# (di Microsoft e Eirik Tsarpalis).
- Miglioramenti qualitativi nei parametri di tipo risolti staticamente (di Microsoft e Gustavo Leon).
- Supporto della generazione di PDB portatili.
Un nuovo editor basato su aree di lavoro Roslyn
(Molte nuove funzionalità dell'IDE implementate con il contributo dell'incredibile community di F#)
- Miglioramenti dei glifi e dei filtri di IntelliSense (di Vasily Kirichenko).
- Molti miglioramenti per IntelliSense (di Vasily Kirichenko).
- Supporto delle nuove funzionalità Vai a (di Vasily Kirichenko).
- Supporto di Trova tutti i riferimenti (di Vasily Kirichenko).
- Supporto di più progetti F# riabilitato (di Ahn-Dung Phan).
- Supporto di Informazioni rapide (al passaggio del mouse) in Roslyn (di Vasily Kirichenko).
- Colorazione di modulo e spazio dei nomi nell'editor (di Vasily Kirichenko).
- Supporto della barra di navigazione riabilitato e migliorato (di Vasily Kirichenko).
- Evidenziazione della semantica dei token (di Vasily Kirichenko).
- Supporto per le nuove linee guida strutturate (di Vasily Kirichenko e Jared Hester).
- Servizio F1 Guida riabilitato (di Robert Jeppesen).
- Colorazione in Informazioni rapide e supporto per la firma (di Vladimir Matveev).
- Miglioramenti per il rientro del codice (di Ahn-Dung Phan).
- Miglioramenti per la segnalazione degli errori nell'IDE (di Ahn-Dung Phan).
- Ridenominazione inline (disabilitata temporaneamente) (di Vasily Kirichenko).
- Miglioramenti di Vai a definizione (di Vasily Kirichenko e Ahn-Dung Phan).
- Miglioramenti della risoluzione del punto di interruzione (di Vasily Kirichenko e Steffen Forkmann).
- Rispetto dell'attributo
EditorBrowsable(EditorBrowsableState.Never)
(di Vasily Kirichenko). - Generazione della documentazione XML (di Ahn-Dung Phan).
- Identificatori maiuscoli per le etichette dei record e l'analizzatore delle combinazione di maiuscole/minuscole delle unioni e correzione del codice (di Steffen Forkmann).
- Implementazione dell'analizzatore di interfaccia e correzione del codice (di Ahn-Dung Phan).
- Sostituzioni per gli identificatori sconosciuti e correzione del codice (di Steffen Forkmann).
- Aggiunta di un prefisso o sostituzione dei valori inutilizzati con l'analizzatore dei caratteri di sottolineatura e correzione del codice (di Steffen Forkmann).
- Aggiunta dell'analizzatore della parola chiave
new
e correzione del codice (di Vasily Kirichenko). - Aggiunta dell'analizzatore dell'istruzione
open
e correzione del codice (di Vasily Kirichenko). - Semplificazione dell'analizzatore dei nomi e correzione del codice (di Vasily Kirichenko).
- Visualizzazione in grigio dei valori inutilizzati (di Vasily Kirichenko).
Contributi aggiuntivi da parte della community di F#
- Miglioramenti delle prestazioni durante il caricamento della soluzione (di Saul Rennison).
- Miglioramenti dell'infrastruttura (di Jack Pappas, Enrico Sada, Saul Rennison, Alfonso Garcia-Caro e Zip Bappi).
- FSI a colori (di Saul Rennison).
- Correzioni del sistema di progetto F# (di Saul Rennison).
- Anche il supporto per F# nell'interfaccia della riga di comando di .NET è stato implementato da Enrico Sada.
Vorremmo ringraziare tutta la community di F# per aver dedicato tempo a provare le build degli strumenti per F# in Visual Studio 2017, registrare i bug, partecipare alle discussioni e implementare correzioni di bug e funzionalità. Il successo di F# in Visual Studio 2017 davvero non sarebbe stato possibile senza la community di F#. Per l'elenco completo dei collaboratori, fare clic qui.
JavaScript e TypeScript
TypeScript 2.1
TypeScript 2.1 è disponibile per tutti i progetti TypeScript in Visual Studio. TypeScript 2.1 offre down-level async/await, migliore inferenza dei tipi, espansione di oggetti locali e altro ancora. Per altre informazioni sulla versione, vedere il post di blog relativo al rilascio o il log completo delle modifiche.
JavaScript Language Service
È disponibile un nuovo JavaScript Language Service (Figura 25), abilitato per impostazione predefinita. Il nuovo servizio migliora IntelliSense e include il supporto IntelliSense per le annotazioni di commenti JSDoc, ES6 e i formati di modulo Common JS. Supporta inoltre la sintassi JSX le funzionalità di ES2016, ad esempio i generatori, i moduli e gli elementi Decorator. Per altre informazioni, vedere questo post di blog o la documentazione di JavaScript IntelliSense in GitHub.
Miglioramenti delle prestazioni
In questa versione, il miglioramento delle prestazioni è uno degli aspetti a cui è stata dedicata maggiore attenzione. Oltre a diverse ottimizzazioni volte a migliorare le caratteristiche di memoria e velocità di risposta, l'intero servizio relativo al linguaggio JavaScript/TypeScript è stato spostato in un processo satellite all'esterno di devenv.exe
per assicurare più spazio di memoria ai progetti Visual Studio di maggiori dimensioni.
In questo modo, durante il lavoro su progetti JavaScript di grandi dimensioni, si noterà che il processo Visual Studio utilizzerà meno memoria e si verificherà un numero minore di arresti anomali dovuti a memoria insufficiente.
Debug e diagnostica
Esegui fino alla riga selezionata
È sufficiente fare clic sull'icona accanto a una riga di codice durante il debug per proseguire l'esecuzione fino a tale riga (Figura 26). Non è più necessario impostare punti di interruzione temporanei o eseguire diversi passaggi per eseguire il codice fino a una determinata riga. Quando l'esecuzione è in stato di interruzione nel debugger, accanto alla riga di codice su cui è posizionato il puntatore viene visualizzata l'icona Esegui fino alla riga selezionata. Spostare il puntatore del mouse sull'icona e fare clic sul pulsante. Il codice verrà eseguito e si interromperà in corrispondenza di tale riga la volta successiva che viene raggiunta nel percorso del codice. Può essere disattivato dal menu principale facendo clic su Debug>Opzioni>Enable Run (Abilita esecuzione).
Finestra Connetti a filtro
È possibile eseguire facilmente ricerche nella finestra di dialogo Connetti a processo (Figura 27) per trovare rapidamente il processo a cui si vuole connettere il debugger. L'elenco dei processi in esecuzione verrà filtrato in base agli elementi che soddisfano i criteri di ricerca. Il filtro di ricerca è permanente e manterrà memorizzata la ricerca precedente quando si riaprirà la finestra di dialogo.
Riconnetti a processo
È ora possibile riconnettere rapidamente i processi di cui è stato eseguito il debug in precedenza. L'attivazione del nuovo comando Debug/Reattach to Process (Debug/Riconnetti a processo) (MAIUSC+ALT+P) tenterà immediatamente di connettere il debugger agli ultimi processi della precedente sessione di debug che sono stati richiamati dalla finestra di dialogo Connetti a processo. Il debugger si riconnetterà ai processi tentando prima di tutto di associare il precedente ID processo e quindi associando il precedente nome di processo. Se non vengono trovate corrispondenze o ci sono più processi con lo stesso nome, viene visualizzata la finestra di dialogo "Connetti a processo" in modo che sia possibile selezionare il processo di destinazione.
Nuovo supporto eccezioni
Usare la nuova finestra di dialogo dell'helper eccezioni (Figura 28), non modale, compatta e con accesso immediato alle eccezioni interne, per visualizzare in modo immediato le informazioni sulle eccezioni. È ora possibile individuare rapidamente i riferimenti Null direttamente nel gestore di eccezioni durante la diagnostica di NullReferenceException. Ora si può escludere l'interruzione per i tipi di eccezione generati da specifici moduli facendo clic sulla casella di controllo per aggiungere una condizione durante l'arresto in corrispondenza dell'eccezione generata. Per informazioni più dettagliate sui nuovi vantaggi offerti dal gestore di eccezioni, leggere questo post di blog.
Aggiungere condizioni alle impostazioni delle eccezioni
Quando si configura il debugger per interrompere l'esecuzione in caso di eccezione, è possibile aggiungere condizioni in base alle quali l'interruzione debba avvenire solo quando vengono generate eccezioni in moduli specifici (Figura 29).
Miglioramenti di accessibilità del debugger
Ora è possibile usare più efficacemente varie finestre del Debugger (Stack di chiamate, Variabili locali, Auto, Espressioni di controllo e Controllo immediato) con gli screen reader e per altre esigenze di accessibilità.
Eventi di IntelliTrace per .NET Core
IntelliTrace supporta ora gli eventi MVC, ADO.NET e HttpClient per le app ASP.NET Core. Questi saranno visualizzati nella scheda Eventi della finestra Strumenti di diagnostica.
Aggiornamenti della finestra Strumenti di diagnostica
Quando si avvia una sessione di debug, si noterà una nuova visualizzazione Riepilogo (Figura 30) dell'applicazione nella finestra Strumenti di diagnostica. Da qui sarà possibile:
- Visualizzare il numero di eventi di Application Insights e di Analisi interfaccia utente (solo per le app UWP) che si è verificato nell'applicazione. In Visual Studio Enterprise sarà anche possibile vedere il numero di eccezioni ed eventi IntelliTrace.
- Eseguire uno snapshot di memoria dell'heap.
- Abilitare e disabilitare la profilatura della CPU.
Aggiornamenti del profiler delle prestazioni
Il Profiler prestazioni ora può essere collegato a un processo in esecuzione. Lo strumento Utilizzo CPU, lo strumento Utilizzo GPU e la Creazione guidata sessione di prestazioni supportano ora il collegamento a un processo in esecuzione.
Aggiornamenti dello strumento Utilizzo CPU
Sono stati apportati diversi miglioramenti allo strumento Utilizzo CPU:
- Supporto migliorato per il codice esterno - Lo strumento Utilizzo CPU visualizza ora informazioni più dettagliate sui costi della CPU per le funzioni di librerie e framework chiamate da codice utente.
- Visualizzazione Funzioni (Figura 31): una visualizzazione che classifica le funzioni in base al costo CPU.
- La visualizzazione Chiamante/chiamato (Figura 32) consente di analizzare i costi delle chiamate di funzione effettuate da e verso una funzione selezionata.
- La visualizzazione Origine mostra il codice sorgente di una funzione quando la funzione è selezionata nello strumento CPU.
Supporto per il debug in Chrome
Quando si avvia il debug di progetti ASP.NET e si sceglie Google Chrome come browser, Visual Studio esegue il debug del JavaScript che è in esecuzione in Chrome. Se invece si preferisce usare gli strumenti di sviluppo nel browser, è possibile disabilitare questa funzionalità in Strumenti > Opzioni > debug.
Testing unità in tempo reale
Live Unit Testing (Figura 33) è una funzionalità di Visual Studio 2017 Enterprise che visualizza in tempo reale i risultati del testing unità e la code coverage. Supporta progetti MSTest, xUnit e Nunit per C# e Visual Basic che hanno come destinazione .NET Framework.
Per maggiori dettagli, vedere il blog di Live Unit Testing.
Strumenti di test
È possibile associare l'automazione a elementi di lavoro del test case tramite Esplora test
È ora possibile associare l'automazione a elementi di lavoro del test case (Figura 34) selezionando un metodo di test in Esplora test. Questa nuova esperienza consente di visualizzare qualsiasi associazione esistente per il metodo di test scelto.
Per creare un'associazione, è sufficiente fare clic su un test in Esplora test
e specificare l'ID di un test case (Figura 35).
Nelle versioni precedenti di Visual Studio questa operazione poteva essere eseguita usando il form dell'elemento di lavoro. È possibile abilitare l'esperienza basata sul form dell'elemento di lavoro attivando la modalità di compatibilità mediante Strumenti | Opzioni (Figura 36).
Team Explorer
Nuove funzionalità Git
In Visual Studio 2017 sono state aggiunte nuove funzionalità Git che consentono di ottenere il massimo dal flusso di lavoro end-to-end senza uscire dall'IDE. È possibile visualizzare facilmente la differenza per i commit in uscita, forzare il push per completare una riassegnazione o eseguire il push di un commit corretto, annullare l'impostazione del ramo upstream e continuare la riassegnazione di una patch da Visual Studio. È stato anche eseguito il trasferimento in git.exe dove sono disponibili le funzionalità più aggiornate. SSH è supportato, le opzioni di configurazione vengono mantenute e in Team Explorer viene visualizzato esattamente ciò che si trova nella riga di comando. Per altre informazioni su queste funzionalità, vedere questo post di blog.
Connessione a VSTS/TFS
Nella pagina iniziale di Visual Studio e in Team Explorer il processo per la connessione a progetti e la clonazione di repository in VSTS/TFS è stato personalizzato e semplificato, rendendo più facile e veloce l'individuazione di progetti e repository a cui connettersi. La nuova pagina Connetti mostra solo i progetti e repository di cui è stato eseguito il mapping e la clonazione per tutti i server VSTS/TFS (anziché i singoli repository per ogni progetto). Inoltre, non è più necessario connettersi a un progetto prima di clonare i repository.
Quando si avvia la finestra di dialogo per connettersi a VSTS e TFS, verrà visualizzata l'esperienza utente riprogettata. Verranno visualizzati gli eventuali server TFS aggiunti, seguiti da tutti i server, i progetti e i repository di VSTS per l'account utente selezionato. I risultati sono elencati in una struttura ad albero per maggiore semplicità di navigazione. È possibile connettersi a raccolte o progetti, oltre ai repository.
Form degli elementi di lavoro
Se ci si connette a Visual Studio Team Services da Visual Studio 2017 e si apre un elemento di lavoro, il form di tale elemento verrà visualizzato nel Web browser (Figura 37). Se tuttavia ci si connette a Team Foundation Server 2015 o versione precedente, verranno visualizzati i form degli elementi di lavoro precedenti.
Flusso di lavoro migliorato per commenti e suggerimenti su Visual Studio
L'esperienza per l'invio di commenti e suggerimenti in Visual Studio 2017 è stata aggiornata per offrire funzionalità più efficaci di follow-up e collaborazione. L'aggiornamento includerà un'esperienza più collaborativa per l'opzione Segnala un problema Visual Studio, integrata da un portale Web completo per una soluzione di commenti e suggerimenti end-to-end completa. È ora possibile eseguire ricerche, seguire, votare e ottenere gli aggiornamenti più recenti per tutti i commenti e suggerimenti inviati tramite la funzionalità Segnala un problema dell'IDE di Visual Studio. Queste esperienze ottimizzate sono in linea con molti dei commenti e suggerimenti inviati dagli utenti e consentono di abilitare la comunicazione bidirezionale tra i team e gli utenti.
Estendibilità in Visual Studio
Nuovo formato di estendibilità
La nuova tecnologia di installazione in Visual Studio 2017 offre agli utenti un controllo maggiore sugli strumenti che vengono installati. Alcuni utenti potrebbero installare solo l'editor principale di Visual Studio, mentre altri utenti potrebbero installare diversi carichi di lavoro. Per verificare che siano installate le funzionalità necessarie richieste da un'estensione, gli autori delle estensioni ora possono specificare i singoli componenti richiesti dall'estensione nel relativo manifesto.
Gli utenti verranno avvisati quando tenteranno di installare un'estensione che non è stata compilata utilizzando il nuovo formato VSIX. Il vecchio formato VSIX non specifica i prerequisiti necessari e potrebbe non funzionare se tali prerequisiti non sono disponibili in Visual Studio 2017. Il nuovo formato VSIX è compatibile con le versioni precedenti e può essere usato con le versioni precedenti di Visual Studio fino a Visual Studio 2012.
La finestra di progettazione del manifesto VSIX è stata aggiornata per riflettere le modifiche al manifesto. Nella scheda dei prerequisiti (Figura 38) gli sviluppatori di estensioni possono trovare un elenco di componenti installati da specificare come prerequisito per le proprie estensioni.
Durante l'installazione dell'estensione, VSIX Installer (Figura 39) indica i componenti mancanti e li installa automaticamente insieme all'estensione.
Modificare le estensioni in blocco
Nella finestra di dialogo Estensioni e aggiornamenti (Figura 40) è ora possibile pianificare l'installazione, l'aggiornamento e la disinstallazione di più estensioni prima che sia necessario riavviare Visual Studio. Nell'angolo inferiore destro compare un riepilogo delle operazioni pianificate. Per rimuovere una modifica pianificata, fare clic sulla X accanto a un'estensione che è attualmente pianificata per l'installazione.
Dopo che VSIX Installer ha rilevato che tutte le finestre di Visual Studio sono chiuse, inizia a completare le modifiche pianificate (Figura 41).
Supporto di Ngen
È ora possibile scegliere di installare gli assembly mediante NGen (Figura 42).
- NGen - Se usare o meno NGen sull'assembly.
- Applicazione NGen: l'applicazione per passare a ngen tramite l'opzione /ExeConfig.
- Architettura NGen - Architettura di destinazione per l'immagine nativa. Le opzioni sono: x86, x64 e tutti.
- Priorità NGen - Livello di priorità di NGen.
Installare i file all'esterno della directory dell'estensione
È ora possibile installare i file in un elenco di cartelle selezionate che si trovano all'esterno della directory dell'estensione (Figura 43).
- Include in VSIX (Includi in VSIX) - È possibile includere il file in VSIX.
- Radice di installazione - La directory radice in cui installare il file. Le opzioni sono: Predefinito (installazione all'interno della directory dell'estensione), PublicAssemblies, ReferenceAssemblies, MSBuild, Schemi, Licenze, RemoteDebugger e VSTargets.
- Percorso di destinazione - Il nome del file da installare nel computer dell'utente.
- VSIX Sub Path (Percorso VSIX secondario) - Percorso secondario sotto la radice di installazione in cui verrà installato il file.
Gestione roaming estensioni
La nuova funzionalità di Visual Studio 2017, Gestione roaming estensioni, consente di tenere traccia delle estensioni preferite in tutti gli ambienti di sviluppo. Il roaming delle estensioni consente di tenere traccia delle estensioni installate creando un elenco sincronizzato sul cloud.
Quando si accede a Visual Studio, è possibile visualizzare rapidamente un elenco delle estensioni da Estensioni e aggiornamenti degli strumenti > e fare clic su Gestione estensioni mobili (figura 44). Questa funzionalità consente di tenere traccia delle estensioni installate e di scegliere quelle da aggiungere all'elenco di roaming. Nella raccolta sono disponibili ogni giorno nuove estensioni. Lo strumento semplifica e rende più rapida la configurazione di ogni ambiente di sviluppo con le estensioni preferite dell'utente.
Quando si usa questa funzionalità è possibile notare tre tipi di icone:
- Icona con roaming: indica un'estensione che fa parte dell'elenco roaming, ma non è installata in questo computer. Per installarla, usare il pulsante "Download".
- Icona con roaming e installata: indica tutte le estensioni che fanno parte dell'elenco di roaming e installate in questo ambiente. Se si decide di evitare il roaming, è possibile rimuovere le estensioni usando il pulsante "Arresta roaming".
- Icona installata: indica tutte le estensioni installate in questo ambiente, ma non fanno parte dell'elenco di roaming. Le estensioni possono essere aggiunte all'elenco di roaming con il pulsante "Avvia roaming".
Queste icone mostreranno lo stato corrente dell'elenco. È possibile includere qualsiasi estensione con qualsiasi stato, personalizzandole in base alle proprie esigenze. In alternativa, è possibile usare le procedure automatiche. Tutte le estensione scaricate durante la connessione saranno aggiunte all'elenco "Con roaming e installata" e saranno incluse nell'elenco di roaming. Sarà quindi possibile accedere all'estensione da qualsiasi altro computer.
Individuazione dei modelli di progetto ed elemento
A partire da Visual Studio 2017, è stata apportata una modifica sostanziale al modo in cui Visual Studio usa i modelli di progetto ed elemento per migliorare le prestazioni della funzionalità di individuazione dei modelli. In base al nuovo meccanismo di rilevamento, tutti i modelli di progetto ed elemento che seguono lo schema "vstemplate" devono essere definiti nei file manifesto dei modelli. I modelli di Visual Studio che non sono definiti in un file manifesto dei modelli non saranno più visibili nelle finestre di dialogo Nuovo progetto o Nuovo elemento. I nuovi strumenti di estendibilità generano un file manifesto durante la fase di compilazione di VSIX. Se si hanno modelli di Visual Studio rilasciati come parte di un pacchetto MSI, è necessario generare manualmente i file manifesto per tali modelli. Per altre informazioni, visitare la pagina MSDN Upgrading Custom Project and Item Templates for Visual Studio 2017 (Aggiornamento dei modelli di progetto ed elemento personalizzati per Visual Studio 2017).
.NET Core e ASP.NET Core
È disponibile la versione finale 1.0 dei nuovi strumenti per Microsoft .NET Core basati su MSBuild. Con Visual Studio 2017 è possibile creare librerie .NET Standard, librerie e app .NET Core e progetti Web ASP.NET che usano il nuovo formato csproj.
Gli strumenti .NET Core sono inclusi automaticamente nel carico di lavoro "Sviluppo ASP.NET e Web" e come componente facoltativo nel carico di lavoro "Sviluppo per desktop .NET" nel programma di installazione. Per sviluppare soltanto applicazioni .NET Core da usare su più piattaforme, è possibile installare soltanto gli strumenti .NET Core e ASP.NET Core tramite il carico di lavoro "Sviluppo multipiattaforma .NET Core" disponibile nella sezione "Altri set di strumenti" del programma di installazione.
Di seguito sono elencate le funzionalità di livello avanzato disponibili in questa versione:
- Supporto di MSBuild per i progetti .NET Core, con formato di progetto csproj semplificato, che rende più semplice la modifica manuale senza necessità di scaricare il progetto.
- Modifica del file con estensione csproj di .NET Core: è sufficiente fare clic con il pulsante destro del mouse in Esplora soluzioni e scegliere "Modifica".
- Supporto per i caratteri jolly dei file nel file di progetto, in cui non è necessario elencare tutti i nomi dei file del codice sorgente. Questo consente di non aumentare le dimensioni del file csproj.
- Riferimenti al pacchetto NuGet come parte del file csproj, che consolidano tutti i riferimenti al progetto in un file.
- Interoperabilità tra progetti .NET Core, .NET Standard e .NET Framework. Un progetto .NET Core, ad esempio, può aggiungere a un progetto .NET Standard un riferimento da progetto a progetto.
- Framework a più destinazioni e tra destinazioni in un progetto singolo.
- I progetti .NET Core project.json esistenti vengono automaticamente migrati a csproj quando sono aperti in Visual Studio. In alternativa, è possibile eseguirne manualmente la migrazione usando l'interfaccia della riga di comando (CLI) di .NET.
- Configurazione semplice della continua integrazione delle compilazione per applicazioni ASP.NET Core con supporto Docker e recapito continuo di compilazioni ai servizi Azure Container dall'interno dell'IDE di Visual Studio.
Per altre informazioni, vedere il blog di .NET.
Strumenti per lo sviluppo di app universali di Windows
Toolchain .NET Native aggiornata
Questa toolchain .NET Native aggiornata aggiunge alcune ottimizzazioni per migliorare le prestazioni di runtime per app UWP gestite in Visual Studio. Questa versione include più di 600 correzioni di bug, oltre a funzionalità per risolvere i problemi chiave segnalati dai clienti e migliorare la qualità complessiva della toolchain.
Pacchetto 5.3.0 Microsoft.NETCore.UniversalWindowsPlatform
Questo aggiornamento delle librerie del framework NuGet di .NET Core risolve alcuni problemi essenziali segnalati dai clienti. I progetti UWP esistenti possono usare Gestione riferimenti di NuGet per eseguire l'aggiornamento a questa nuova versione. Il nuovo pacchetto .NET Core include inoltre la toolchain .NET Native.
SDK ed emulatore per l'Aggiornamento dell'anniversario di Windows 10
Windows SDK e l'emulatore di Windows Phone per l'Aggiornamento dell'anniversario di Windows 10 sono inclusi in questa versione.
- Gli elementi dell'interfaccia utente creati dalla casella degli strumenti verranno creati con meno tag XAML, con conseguente semplificazione e migliore leggibilità del codice XAML.
- Un nuovo strumento di opzioni nella finestra di progettazione XAML consente allo sviluppatore di selezionare il tema dell'interfaccia utente e le impostazioni di contrasto elevato da visualizzare in anteprima nell'area di progettazione.
- Gli editor di valori nella finestra Proprietà ora accettano semplici equazioni matematiche, come "60+20". Le equazioni verranno valutate immediatamente (in questo caso, 80) e il valore risultante verrà inserito nel codice XAML.
Funzionalità di Progettazione manifesto per la creazione di asset visivi
L'interfaccia di Progettazione manifesto (Figura 45) è stata aggiornata e vi è stata aggiunta la possibilità di generare risorse visive per le app UWP. Ora è possibile usare un'unica immagine di origine per creare riquadri, logo, icone e schermate iniziali di qualsiasi dimensione adatti a qualsiasi tipo di dispositivo cui l'app è destinata.
Analisi interfaccia utente
Gli strumenti della piattaforma UWP (Universal Windows Platform) consentono ora di rilevare alcuni problemi di accessibilità e prestazioni. Abilitando lo strumento "Analisi interfaccia utente" nel menu Strumenti della finestra Strumenti di diagnostica, la segnalazione di questi problemi sarà accompagnata da collegamenti ad articoli utili che spiegano come e perché correggere i problemi. Quando si sviluppano applicazioni con Analisi interfaccia utente abilitato, l'accessibilità e le prestazioni dell'interfaccia utente sono i primi aspetti presi in considerazione.
Xamarin
Xamarin 4.4 è incluso in Visual Studio 2017. Per altre informazioni, vedere le note sulla versione di Xamarin.
Questa versione di Xamarin per Visual Studio 4.4 aggiorna le versioni di Xamarin.iOS 10.8 e Xamarin.Android 7.2.
Correzioni di bug per Xamarin
Questa versione include le correzioni seguenti:
- Le app di estensione iOS non vengono compilate e restituiscono l'errore "impossibile leggere dati dei diritti".(4.4.0.31)
- Include simboli per i rapporti Watson. (4.4.0.6)
- La distribuzione Android non viene eseguita se la soluzione include anche un progetto Wix. (4.3.1.39)
- Deadlock che apre alcuni progetti iOS. (4.3.1.39)
- I punti di interruzione non raggiungono i riferimenti PCL di secondo livello. (4.3.1.39)
- Corregge il problema iOS causato dall'attività CodeSignNativeLibraries mancante. (4.3.1.39)
- Errore durante l'apertura di uno storyboard dopo la connessione al server Mac. (4.3.1.39)
- Il progetto di libreria di classi Android dovrebbe solo includere "Versione di Android per la compilazione:" nella pagina delle proprietà. (4.3.1.39)
- Visual Studio si blocca quando si passa alla scheda "Tools-Options-Xamarin-Other>>>". (4.3.1.39)
- Visual Studio si blocca durante il caricamento di una soluzione multipiattaforma in alcuni ambienti. (4.3.1.1)
- Non ci sono riferimenti a Microsoft.Csharp nei modelli di progetto di Visual Studio. (4.3.1.1)
- Impossibile connettersi a un server Mac se la shell utente configurata non usa la sintassi
bash
. (4.3.1.1) - Opzione Submit to Test Cloud (Invia al cloud test) mancante (bug corretto in Visual Studio 2013 e Visual Studio 2015).(4.3.1.1)
- Il debugger non funziona correttamente quando il nome di una variabile o di una proprietà è uguale al nome di una classe di un altro elemento. (4.3.1.1)
- Impossibile rinominare un'immagine impostata dal catalogo di asset. (4.3.1.1)
- La cartella 'Resources' è nascosta forzatamente nei progetti di estensione dell'espressione di controllo. (4.3.1.1)
- La cartella "Assets.xcasset" che si trova nella cartella "Risorse" non è nascosta per i progetti tvOS. (4.3.1.1)
Strumenti di Visual Studio per Apache Cordova
Questa versione Preview di Visual Studio 2017 include i miglioramenti seguenti:
- Cordova Simulate: un nuovo simulatore basato su browser che consente di creare velocemente il codice e visualizzare immediatamente i risultati nel browser (Figura 46). Livereload, Simulazione plug-in e il supporto di Ionic Framework garantisce a Visual Studio il più rapido flusso di lavoro per sviluppatori sul mercato.
Supporto per iOS 10 e XCode 8 - L'aggiornamento dell'agente server
remotebuild
per lo sviluppo iOS include ora il supporto per XCode 8.Colorazione degli errori: dato che la diagnostica degli errori di compilazione spesso richiede che gli sviluppatori leggano l'output di compilazione, per agevolare la lettura è stata introdotta la colorazione degli errori nel riquadro dell'output di compilazione (Figura 47). Sono anche state aggiunte intestazioni per delineare i passaggi del processo di compilazione e semplificare così l'identificazione del punto del processo di compilazione in cui si è verificato un errore.
- Acquisizione all'interno del prodotto: oltre all'installazione semplificata per accelerare la creazione di app Cordova, sono stati aggiunti percorsi da Visual Studio che consentono di acquisire altri componenti di compilazione man mano che si procede con lo sviluppo (Figura 48). Se non sono stati installati componenti di Windows o Android, è possibile ottenerli tramite la barra di distribuzione, che avvierà l'installazione di Visual Studio e mostrerà tutte le fasi del processo di installazione.
- Compilazioni più veloci e affidabili - Il nuovo programma di installazione di Visual Studio, combinato con l'installazione offline di componenti toolchain di terze parti completamente convalidati, offre compilazioni più rapide e più semplici da correggere, nonché una risoluzione dei problemi semplificata.
Importante
Gli strumenti di compilazione e gli emulatori per Android e Windows sono ora facoltativi. Possono essere acquisiti in modo dinamico tramite la barra dei menu di compilazione/distribuzione. Questa versione di Visual Studio non supporta progetti di Windows Store 8.1. È consigliabile aggiornare i progetti di Cordova in modo che facciano riferimento a Windows 10. La versione minima di Cordova supportata è la 6.0.0. Per la compilazione e la distribuzione in Visual Studio 2017, i progetti realizzati per una versione di Cordova precedente la 6.0.0 dovranno essere aggiornati in config.xml
.
Node.js Tools per Visual Studio
Node.js Tools per Visual Studio trasforma Visual Studio in un ambiente avanzato per lo sviluppo di Node.js. Questa versione è incentrata sulla stabilità, sulle prestazioni e sulla qualità complessiva del prodotto, tra cui:
- Migliore integrazione con il nuovo servizio di linguaggio Salsa JavaScript.
- Uso ridotto di memoria e CPU e tempi di caricamento inferiori per il caricamento dei progetti.
- Supporto per i file modello Pug.
- Modelli di progetto più aggiornati.
- Supporto per il framework di test Mocha 3.x.
- Numerose correzioni di bug.
Grazie a tutti i collaboratori straordinari che hanno preso parte alla creazione di questa versione di Node.js Tools per Visual Studio. Per altre informazioni, vedere l'articolo open source sul progetto Node.js Tools su GitHub.
Visual Studio Tools per Unity
Usare Visual Studio per scrivere ed eseguire il debug dei giochi Unity su tutte le piattaforme. Visual Studio Tools per Unity 3 (Figura 49) è ora disponibile per l'installazione con il carico di lavoro "Sviluppo di giochi con Unity" nel nuovo programma di installazione di Visual Studio 2017. Visual Studio Tools per Unity 3 è incentrato sul miglioramento dell'esperienza di modifica e debug del codice per gli sviluppatori di Unity, nonché sulla qualità complessiva del prodotto, tra cui:
- Supporto IntelliSense per i messaggi Unity.
- Applicazione di colori al codice dei messaggi Unity.
- Valutazione migliorata delle espressioni nel debugger di Unity.
- Miglioramento delle creazioni guidate dei messaggi Unity per supportare tutti i tipi di Unity in grado di ricevere messaggi.
- Numerose correzioni di bug e ottimizzazioni.
Redgate
Redgate Data Tools inclusi in Visual Studio
Per estendere le funzionalità DevOps di Visual Studio 2017 all'ambiente di sviluppo di database SQL Server, sono ora disponibili nel carico di lavoro Elaborazione ed archiviazione dati gli strumenti Redgate Data Tools che includono Redgate SQL Prompt Core, Redgate SQL Search e Redgate ReadyRoll Core.
- Redgate ReadyRoll Core, incluso in Visual Studio Enterprise 2017, consente di sviluppare script di migrazione e gestire modifiche del database mediante il controllo del codice sorgente, oltre ad automatizzare in modo sicuro le distribuzioni delle modifiche di database di SQL Server insieme alle modifiche delle applicazioni.
- Redgate SQL Prompt Core, incluso in Visual Studio Enterprise 2017, consente di scrivere codice SQL più velocemente e con maggiore precisione grazie al supporto del completamento intelligente del codice. SQL Prompt completa automaticamente gli oggetti di database, gli oggetti di sistema e le parole chiave, oltre a offrire suggerimenti per le colonne durante la digitazione. Il codice risultante è quindi più pulito e più corretto, perché non è necessario ricordare ogni nome di colonna o alias.
- Redgate SQL Search, incluso in tutte le edizioni di Visual Studio 2017, consente di aumentare la produttività grazie alla possibilità di individuare rapidamente oggetti e frammenti SQL in più database.
NuGet
Visual Studio 2017 include NuGet 4.0. Questa versione si concentra sul riferimento al pacchetto di supporto per la maggior parte dei tipi di progetto, miglioramenti della qualità e miglioramenti delle prestazioni:
- Nei progetti WPF, WindowsForms e UWP i pacchetti possono ora essere gestiti mediante riferimenti ai pacchetti.
- Miglioramento del supporto del ripristino NuGet per il caricamento leggero delle soluzioni. È ora possibile eseguire ripristini senza dover caricare progetti.
- Nei progetti .NET Core e ASP.NET Core, i pacchetti vengono ora gestiti tramiteriferimenti al pacchetto.
- In Visual Studio 2017 e versioni successive, NuGet.config a livello di computer si trova ora in %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config. In futuro, nuget.exe v4.0.0 + considererà anche la nuova posizione per la configurazione a livello di computer. NuGet.config nei dati del programma non disporrà più di un riferimento implicito o non sarà considerato per l'unione gerarchica di NuGet.config.
Strumenti per le app XAML
Modifica e continuazione per XAML
Visual Studio consente ora di modificare XAML durante l'esecuzione dell'app WPF o dell'app di Windows universale. Durante il debug dell'app in Visual Studio, è possibile apportare modifiche al markup nell'editor di codice XAML. Le modifiche verranno riflesse nell'app in esecuzione senza che sia necessario ricompilarla.
Miglioramenti alla produttività dell'editor XAML
- Filtro IntelliSense - Quando si digita codice XAML, l'elenco di completamento mostrerà solo i tipi corrispondenti e verrà selezionata la corrispondenza più vicina.
- IntelliSense per x:Bind - È stato abilitato il completamento IntelliSense per x:Bind durante il binding a Percorso ed Eventi.
- Completamento dello spazio dei nomi: se non è indicato il riferimento allo spazio dei nomi (Figura 50), il supporto IntelliSense durante la digitazione non è disponibile. Dopo aver completato la digitazione, si otterranno suggerimenti indicati dalla lampadina per generare e inserire il prefisso per il tipo e aggiungere la definizione dello spazio dei nomi nel documento XAML.
- Per i tipi che richiedono un prefisso, IntelliSense offrirà il completamento automatico del prefisso se il riferimento allo spazio dei nomi esiste già.
- Refactoring di ridenominazione del prefisso dello spazio dei nomi: quando il cursore si trova sul prefisso, è possibile chiamare l'azione di ridenominazione (figura 51) dal menu di scelta rapida o tramite i tasti di scelta rapida
Ctrl+R+R
. È anche possibile visualizzare le modifiche prima di applicarle.
- Rimozione e ordinamento degli spazi dei nomi: è ora possibile rimuovere gli spazi dei nomi non necessari (figura 52) e ordinarli dal menu di scelta rapida o tramite i tasti di scelta rapida
Ctrl+R+G
. Se il documento XAML contiene spazi dei nomi non necessari, sarà disponibile anche un'icona a forma di lampadina che offre la possibilità di rimuoverli.
Supporto di .editorconfig per l'editor XAML: è possibile definire impostazioni per indent_style, indent_size e tab_width nel file .editorconfig che verranno usate al posto delle impostazioni definite in Strumenti> Opzioni.
Visualizzatore di struttura per l'editor XAML: il visualizzatore di struttura (ad esempio le guide di rientro) (Figura 53) è ora incorporato in Visual Studio e non è necessaria un'estensione separata. Questa funzionalità consente di visualizzare immediatamente, senza dover scorrere, il contesto del blocco di codice a cui si sta lavorando.
Miglioramenti alle prestazioni XAML
- Miglioramento delle prestazioni nel passaggio alla scheda XAML - Le prestazioni nel passaggio alla scheda XAML sono state migliorate in misura significativa. In un progetto di un cliente preso come esempio è stata osservata una riduzione del tempo di passaggio superiore al 90%.
- Riduzione dei ritardi di digitazione nell'editor XAML - La digitazione di codice XAML è ora più veloce che mai. Sono stati effettuati diversi investimenti per ridurre i ritardi di digitazione nell'editor XAM e gli sviluppatori dovrebbero riscontrare una maggiore velocità di risposta a livello di editor XAML e IntelliSense XAML. Questo miglioramento risulta più evidente durante la modifica di un file XAML in progetti che utilizzano controlli di terze parti o librerie di controlli di grandi dimensioni.
Data Tools e SQL Server
SQL Server Data Tools
Visual Studio 2017 include l'aggiornamento più recente di SQL Server Data Tools, che abilita il supporto per le funzionalità più recenti del database SQL di Azure e di SQL Server 2016.
Questa versione consente di eseguire facilmente operazioni di sviluppo, test e distribuzione di un database in tutte le versioni di SQL Server e in tutte le piattaforme di database, sia in locale che sul cloud, usando Visual Studio. Questa versione include anche miglioramenti alla superficie di attacco per la programmabilità del database e semplifica l'esperienza di connessione a SQL in SQL Server Data Tools. Ora infatti vengono individuati automaticamente i database di SQL Server e del database SQL di Azure, a cui è possibile connettersi con un semplice clic.
Visual Studio 2017 fa anche riferimento ai nuovi tipi di autenticazione del database SQL di Azure, oltre che all'autenticazione integrata e tramite password di Azure Active Directory.
Strumenti di analisi per sviluppatori
Visual Studio 2017 include Developer Analytics Tools versione 8.6, con i miglioramenti seguenti:
- CodeLens mostra sia i dati di debug che i dati di telemetria attivi nei progetti che inviano dati a una risorsa di Application Insights.
- Per le eccezioni CodeLens si collega ad Analisi applicazione per mostrare l'impatto di un'eccezione sugli utenti.
- CodeLens mostre le richieste dalle sessioni di debug locale nei progetti con Application Insights SDK.
- Le richieste e le eccezioni per CodeLens sono ora disponibili dai progetti di Visual Basic.
- Dopo la pubblicazione dell'app da Visual Studio, le metriche attive vengono visualizzate in una notifica di tipo avviso popup.
- Le informazioni sui prezzi di Application Insights sono ora visualizzate nella finestra di configurazione.
- Gli eventi di disponibilità vengono ora visualizzati negli strumenti Ricerca e Tendenze.
- Gli eventi negli strumenti Ricerca e Diagnostica mostrano ora i conteggi della frequenza con cui si sono verificati in base al campionamento adattivo nell'SDK.
- CodeLens mostra le eccezioni che si sono verificate durante le sessioni di debug locale per i progetti con Application Insights SDK.
- Nuovo design per la finestra di configurazione di Application Insights.
- Per le eccezioni CodeLens dispone ora di un collegamento ad Analisi applicazione per verificare l'impatto di un'eccezione sugli utenti.
- Quando si aggiunge Application Insights a un progetto, viene aggiunto Application Insights JavaScript SDK per la raccolta della telemetria delle visualizzazioni della pagina.
- Quando si pubblicano app da Visual Studio, le annotazioni di pubblicazione vengono ora inviate alla risorsa Application Insights.
- Per gli indicatori CodeLens rossi e gialli di Application Insights vengono ora visualizzati marcatori della barra di scorrimento.
Altre informazioni su Application Insights sono disponibili nella documentazione di Microsoft Azure.
Office Developer Tools per Visual Studio
Questa versione include Office Developer Tools con le funzionalità e gli aggiornamenti più recenti, come illustrato di seguito:
- Nuovi modelli dei componenti aggiuntivi di Office specifici per Excel, Word, PowerPoint e Outlook.
- Supporto per nuove funzionalità dei componenti aggiuntivi di Office, ad esempio comandi dei componenti aggiuntivi, interfaccia utente di Fabric e una nuova versione di Office.js.
- Nuovo codice di avvio nei modelli che illustrano come eseguire le operazioni iniziali con le nuove funzionalità dei componenti aggiuntivi di Office.
- Supporto di SharePoint 2016 in modelli dei componenti aggiuntivi e soluzioni di SharePoint.
Convalida delle dipendenze architetturali in tempo reale
Se In Visual Studio Enterprise sono configurati i diagrammi di convalida delle dipendenze (detti anche diagrammi di livello), è ora possibile ricevere notifiche in tempo reale (Figura 54) relative alla violazioni delle regole delle dipendenze architetturali durante la digitazione del codice nell'editor del codice. Gli errori vengono visualizzati nell'Elenco errori e le sottolineature ondulate nell'editor di testo mostrano la posizione esatta della violazione. In questo modo si riducono le probabilità di introdurre dipendenze indesiderate.
Prompt dei comandi per gli sviluppatori
Gli script del prompt dei comandi per gli sviluppatori di Visual Studio 2017 sono stati sottoposti a refactoring in modo da supportare la nuova esperienza di installazione:
- Le variabili di ambiente rifletteranno solo i carichi di lavoro installati.
- Il collegamento Prompt dei comandi per gli sviluppatori di Visual Studio dovrebbe essere compatibile con le versioni precedenti.
- È ora possibile configurare gli script del prompt dei comandi per gli sviluppatori tramite gli argomenti della riga di comando:
- Per informazioni dettagliate, in un prompt dei comandi chiamare
common7\tools\vsdevcmd.bat -help
(dalla directory di installazione di Visual Studio).
- Per informazioni dettagliate, in un prompt dei comandi chiamare
Azure SDK per .NET
Azure SDK per .NET è ora disponibile per l'installazione con il nuovo programma di installazione di Visual Studio. Se Azure SDK per .NET è stato precedentemente installato usando l'Installazione guidata piattaforma Web, ora è possibile ottenere gli stessi componenti installando il carico di lavoro di Azure con il nuovo programma di installazione di Visual Studio. I pacchetti installati sono allo stesso livello di funzionalità della versione 2.9.5 dell'SDK. Per questa versione di Visual Studio e tutte le versioni future, Azure SDK per .NET sarà disponibile solo dal programma di installazione di Visual Studio.
Visual Studio 2017 versione 15.0.1
Rilascio: 14 marzo 2017
Problemi principali risolti nella versione 15.0.1
Questi sono i problemi segnalati dai clienti risolti nella versione 15.0.1:
- La soluzione si chiude immediatamente dopo l'apertura.
- L'installazione si arresta con l'applicazione di GitV2.
- Microsoft.Net.Core.SDK;PackageAction=Install;ReturnCode=-2147023274.
- Installazione non riuscita a causa di percorsi di origine/destinazione non validi.
- La soluzione si chiude dopo il primo avvio.
Visual Studio 2017 versione 15.0.2
Rilascio: 28 marzo 2017
Problemi principali risolti nella versione 15.0.2
Questi sono i problemi segnalati dai clienti risolti nella versione 15.0.2:
- Git folder view 'Discovering files' hangs (La visualizzazione della cartella Git si interrompe a 'Individuazione file').
- Windows Explorer crashes when opening folder with a typescript file (Si verifica un arresto anomalo di Esplora risorse all'apertura di una cartella con un file TypeScript).
- 2017 hangs on open SLN (2017 si interrompe in SLN aperto).
- Studio hangs on close (Studio si interrompe alla chiusura).
- Visual Studio crashes when loading solution (Si verifica un arresto anomalo di Visual Studio durante il caricamento di una soluzione).
- Visual Studio Enterprise 2017 RC crashed when syncing source code from on-prem VSTS server (Si verifica un arresto anomalo di Visual Studio Enterprise 2017 RC durante la sincronizzazione del codice sorgente dal server VSTS locale).
- Unloading the selected projects hangs (LO scaricamento dei progetti selezionati si interrompe).
- VS2017 RC4 freezes when loading a particular solution (VS2017 RC4 si blocca durante il caricamento di una soluzione specifica).
Visual Studio 2017 versione 15.0.3
Rilascio: 31 marzo 2017
Riepilogo degli aggiornamenti nella versione 15.0.3
Gli strumenti e le API Xcode 8.3, iOS 10.3, watchOS 3.2 e tvOS 10.2 sono ora supportati nell'estensione Xamarin.VS per Visual Studio 2017.
Visual Studio 2017 versione 15.0.4
Rilascio: 23 maggio 2017
Problemi principali risolti nella versione 15.0.4
Gli scenari di installazione offline non richiedono più l'accesso a internet.
Visual Studio 2017 versione 15.0.5
Rilascio: 18 settembre 2017
Problemi principali risolti nella versione 15.0.5
Questi sono i problemi segnalati dai clienti risolti nella versione 15.0.5:
- Access Denied / Unknown Error / other issues when running on Win7 under multiple user contexts (Admin / normal) (Accesso negato, errore sconosciuto o altri problemi durante l'esecuzione in Windows 7 con più contesti utente (amministratore / normale)).
- New Project menu fails with error Value cannot be null. Nome parametro: eventId.
- The version of Git that ships in Visual Studio has been patched to address Git CVE 2017-1000117 (Alla versione di Git disponibile in Visual Studio è stata applicata una patch per Git CVE 2017-1000117).
- Il componente facoltativo di Git per Windows è stato aggiornato a v2.14.1.
Visual Studio 2017 versione 15.0.6
Rilascio: 14 novembre 2017
Riepilogo degli aggiornamenti nella versione 15.0.6
Notifiche di avvisi di sicurezza per Visual Studio 2017 versione 15.0
Microsoft ha rilasciato gli avvisi di sicurezza di .NET Core e ASP.NET Core. I dettagli sono disponibili negli annunci corrispondenti nell'archivio .NET Core e ASP.NET Core. Vedere le informazioni riportate di seguito:
CVE-2017-8585 Il formato certificato non valido può causare Denial of Service
Esiste una vulnerabilità di sicurezza in .NET Core 1.0, 1.1 e 2.0, a causa della quale un formato certificato non valido oppure altri dati con formato ASN.1 possono portare a un condizione di Denial of Service tramite un ciclo infinito su Linux e macOS. È consigliabile che gli amministratori del sistema aggiornino i runtime .NET Core alle versioni 1.0.8, 1.1.5 e 2.0.1. È consigliabile che gli sviluppatori aggiornino i componenti di base di .NET SDK alla versione 2.0.3 o 1.1.5.
CVE-2017-8700 Ignorare CORS può abilitare la diffusione di informazioni
È presente una vulnerabilità di sicurezza in ASP.NET Core 1.0 e 1.1 a causa della quale è possibile ignorare la condivisione risorse tra le origini (CORS), causando la diffusione di informazioni.
CVE-2017-11879 Una vulnerabilità Open Redirect può causare l'elevazione dei privilegi
È presente una vulnerabilità di sicurezza in ASP.NET 2.0 Core per cui una condizione di vulnerabilità Open Redirect porta all'elevazione dei privilegi.
CVE-2017-11770 Vulnerabilità Denial Of Service
È presente una vulnerabilità di sicurezza in ASP.NET Core 1.0, 1.1 e 2.0 quando l'applicazione è ospitata tramite Http.Sys Windows, a causa della quale una richiesta in formato non corretto può portare a una condizione Denial Of Service. I nuovi progetti creati con ASP.NET Core 1.0 e ASP.NET Core 1.1 useranno versioni del pacchetto che includono gli aggiornamenti di sicurezza sopra indicati. Per i progetti esistenti, gli utenti possono aggiornare i pacchetti a versioni più recenti, tramite la finestra di dialogo Gestisci pacchetti NuGet.
Visual Studio 2017 versione 15.0.7
Rilascio: 6 dicembre 2017
Riepilogo degli aggiornamenti nella versione 15.0.7
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
Microsoft ha rilasciato gli avvisi di sicurezza per ASP.NET Core. I dettagli sono disponibili negli annunci corrispondenti nel repository ASP.NET Core. Vedere le informazioni riportate di seguito:
CVE-2017-8700 Ignorare CORS può abilitare la diffusione di informazioni
È presente una vulnerabilità di sicurezza in ASP.NET Core 1.0 e 1.1 a causa della quale è possibile ignorare la condivisione risorse tra le origini (CORS), causando la diffusione di informazioni. I nuovi progetti creati con ASP.NET Core 1.0 e ASP.NET Core 1.1 useranno versioni del pacchetto che includono l'aggiornamento di sicurezza sopra indicato. Per i progetti esistenti, gli utenti possono aggiornare i pacchetti a versioni più recenti, tramite la finestra di dialogo Gestisci pacchetti NuGet.
Visual Studio 2017 versione 15.0.8
Rilascio: 9 gennaio 2018
Riepilogo degli aggiornamenti nella versione 15.0.8
Notifiche di avvisi di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-0786 Bypass della funzionalità di sicurezza nella convalida del certificato X509
Microsoft ha rilasciato questo avviso di sicurezza per fornire informazioni su una vulnerabilità nelle versioni pubbliche di .NET Core 1.0 e 1.1 e 2.0. Questo avviso offre anche informazioni aggiuntive sulle operazioni che gli sviluppatori possono eseguire per aggiornare le applicazioni in modo corretto. Questo avviso di sicurezza è applicabile anche a .NET nativo per piattaforma UWP (Universal Windows Platform).
Microsoft è a conoscenza di una vulnerabilità di sicurezza nelle versioni pubbliche di .NET Core in cui un utente malintenzionato potrebbe presentare un certificato contrassegnato come non valido per un uso specifico, ma che viene usato da un componente per un altro scopo. Questa azione non considera il contrassegno con l'utilizzo chiavi avanzato.
L'aggiornamento della sicurezza risolve la vulnerabilità assicurando che i componenti di .NET Core eseguano la convalida completa dei certificati. È consigliabile che gli amministratori di sistema aggiornino i runtime .NET Core alle versioni 1.0.9, 1.1.6 e 2.0.5. È consigliabile che gli sviluppatori aggiornino .NET Core SDK alla versione 2.1.4 o 1.1.7.
CVE-2018-0764 Denial of Service durante l'analisi di documenti XML
Microsoft ha rilasciato questo avviso di sicurezza per fornire informazioni su una vulnerabilità nelle versioni pubbliche di .NET Core 1.0 e 1.1 e 2.0. Questo avviso offre anche informazioni aggiuntive sulle operazioni che gli sviluppatori possono eseguire per aggiornare le applicazioni in modo corretto.
Microsoft è a conoscenza di una vulnerabilità di tipo Denial of Service in tutte le versioni pubbliche di .NET Core dovuta all'elaborazione non corretta dei documenti XML. Un utente malintenzionato potrebbe sfruttare questa vulnerabilità e causare un attacco Denial of Service contro un'applicazione .NET. Un utente malintenzionato non autenticato remoto potrebbe sfruttare questa vulnerabilità inviando richieste appositamente predisposte a un'applicazione .NET Core.
L'aggiornamento risolve la vulnerabilità correggendo la modalità con cui .NET Core gestisce l'elaborazione dei documenti XML. È consigliabile che gli amministratori di sistema aggiornino i runtime .NET Core alle versioni 1.0.9, 1.1.6 e 2.0.5. È consigliabile che gli sviluppatori aggiornino .NET Core SDK alla versione 2.1.4 o 1.1.7.
Visual Studio 2017 versione 15.0.9
Rilascio: 2 febbraio 2018
Riepilogo degli aggiornamenti nella versione 15.0.9
- Il compilatore MSVC è stato aggiornato per supportare l'opzione /Qspectre che inserirà automaticamente una barriera al rilevamento di istanze di Spectre variante 1. Per altre informazioni su /Qspectre fare riferimento al blog del team di Visual C++.
- È stato aggiornato Java™ Development Kit 8, aggiornamento 161 (JDK versione 8u161) per risolvere gli errori di download.
Visual Studio 2017 versione 15.0.10
Rilascio: 21 febbraio 2018
Riepilogo degli aggiornamenti nella versione 15.0.10
Team Explorer supporta TLSv1.2. Sono state aggiornati Git e i componenti di Git Credential Manager forniti in Visual Studio. Anche il componente facoltativo di Git per Windows è stato aggiornato. Questo aggiornamento consente a Git di connettersi ai servizi con supporto deprecato per TLSv1 e TLSv1.1 a favore di TLSv1.2.
Visual Studio 2017 versione 15.0.11
Rilascio: 13 marzo 2018
Riepilogo degli aggiornamenti nella versione 15.0.11
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-0875 Avvisi di sicurezza Microsoft per .NET Core
Microsoft è a conoscenza di una vulnerabilità di sicurezza nelle versioni pubbliche di .NET Core, a causa della quale una richiesta di file o Web dannosa può originare un attacco Denial Of Service (DoS).
- È consigliabile che gli amministratori di sistema aggiornino i runtime .NET Core alle versioni 1.0.10, 1.1.7 o 2.0.6. È consigliabile che gli sviluppatori aggiornino .NET Core SDK alle versioni 1.1.8 o 2.1.101.
Visual Studio 2017 versione 15.0.12
Rilascio: 10 aprile 2018
Riepilogo degli aggiornamenti nella versione 15.0.12
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-1037 Avvisi di sicurezza Microsoft per Microsoft Visual Studio - Vulnerabilità per diffusione di informazioni
Esiste una vulnerabilità per diffusione di informazioni quando Visual Studio divulga in modo improprio contenuto limitato della memoria non inizializzata durante la compilazione di file di database di programma (PDB). Un utente malintenzionato che riesce a sfruttare questa diffusione di informazioni potrebbe visualizzare la memoria non inizializzata dall'istanza di Visual Studio usata per compilare il file PDB.
Per sfruttare la vulnerabilità, un utente malintenzionato dovrebbe avere accesso a un file PDB interessato creato usando una versione di Visual Studio vulnerabile. Un utente malintenzionato non ha alcuna possibilità di forzare uno sviluppatore a produrre questa diffusione di informazioni.
L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui vengono generati i file PDB quando viene compilato un progetto.
Visual Studio 2017 versione 15.0.13
Rilascio: 26 aprile 2018
Riepilogo degli aggiornamenti nella versione 15.0.13
- È stato aggiornato Java™ Development Kit 8, aggiornamento 172 (JDK versione 8u172).
Visual Studio 2017 versione 15.0.14
Rilascio: 31 maggio 2018
Riepilogo degli aggiornamenti nella versione 15.0.14
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-11235 Avviso di sicurezza Microsoft per vulnerabilità di sicurezza di Git
È stata risolta una vulnerabilità di sicurezza in Git divulgata dalla community di Git. La vulnerabilità può causare l'esecuzione di codice arbitrario quando un utente clona un repository dannoso.
Visual Studio 2017 versione 15.0.15
Rilascio: 10 luglio 2018
Riepilogo degli aggiornamenti nella versione 15.0.15
Notifiche di avvisi di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-8172 Vulnerabilità di Visual Studio per l'esecuzione remota del codice
Una vulnerabilità di esecuzione remota del codice può consentire lo sfruttamento del computer di un utente, tramite l'apertura di un progetto o di un file di risorse creato appositamente. L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui Visual Studio controlla il markup di origine di un file.
CVE-2018-8260 Vulnerabilità di esecuzione remota del codice di .NET Framework
Esiste una vulnerabilità di esecuzione remota del codice nel software .NET che può consentire lo sfruttamento del computer di un utente consentendo a utenti malintenzionati di eseguire codice arbitrario nel contesto dell'utente corrente. L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui .NET controlla il markup di origine di un file.
CVE-2018-8232 Vulnerabilità di manomissione di Microsoft Macro Assembler .NET.
Vulnerabilità di manomissione correlata alla convalida non corretta del codice da parte di Microsoft Macro Assembler. L'aggiornamento della sicurezza risolve la vulnerabilità assicurando che Microsoft Macro Assembler convalidi correttamente la logica del codice.
CVE-2018-8171 Vulnerabilità di bypass della funzionalità di sicurezza di ASP.NET Core
La vulnerabilità di bypass della funzionalità di sicurezza di ASP.NET Core si verifica quando non viene convalidato il numero di tentativi di accesso non corretti, situazione che può consentire a un utente malintenzionato di eseguire un numero infinito di tentativi di autenticazione. L'aggiornamento risolve la vulnerabilità convalidando il numero di tentativi di accesso non corretti.
Visual Studio 2017 versione 15.0.16
Rilascio: 2 agosto 2018
Riepilogo degli aggiornamenti nella versione 15.0.16
- Questa versione ora installa Java™ Development Kit 8, aggiornamento 181 (versione JDK 8u181).
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-8356 Vulnerabilità di bypass della funzionalità di sicurezza di .NET Core
Microsoft è a conoscenza di una vulnerabilità di bypass della funzionalità di sicurezza, che si verifica quando .NET Core non esegue correttamente la convalida dei certificati. Un utente malintenzionato può sfruttare questa vulnerabilità presentando un certificato scaduto quando gli viene richiesto. L'aggiornamento risolve la vulnerabilità correggendo la modalità di gestione della convalida dei certificati in .NET Core.
Visual Studio 2017 versione 15.0.17
Rilascio: 14 agosto 2018
Riepilogo degli aggiornamenti nella versione 15.0.17
Notifica dell'avviso di sicurezza per Visual Studio 2017 versione 15.0
CVE-2018-0952 Vulnerabilità di elevazione dei privilegi dell'agente di raccolta standard dell'hub di diagnostica
Esiste una vulnerabilità di elevazione dei privilegi in un servizio di Visual Studio, a causa del quale un utente senza privilegi di amministratore può ottenere privilegi di sistema durante la scrittura di file. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe scrivere file come sistema pur avendo solo l'accesso a livello di utente. Questo aggiornamento della sicurezza risolve questo problema rappresentando l'utente corrente per convalidare l'accesso al percorso del file.
Visual Studio 2017 versione 15.0.18
Rilascio: 28 agosto 2018
Problemi principali risolti nella versione 15.0.18
Problemi noti
Microsoft presta la massima attenzione ai commenti e suggerimenti degli utenti. Visitare il sito della community degli sviluppatori per conoscere i problemi più recenti, registrare nuovi problemi e votare a favore dei problemi esistenti.
Commenti e suggerimenti
I commenti degli utenti sono molto apprezzati. È possibile segnalare un problema tramite l'opzione Segnala un problema disponibile nell'angolo superiore destro del programma di installazione o dell'IDE di Visual Studio. L'icona si trova nell'angolo superiore destro. È possibile inviare un suggerimento sul prodotto o monitorare lo stato dei problemi nella community degli sviluppatori di Visual Studio, dove è possibile porre domande, trovare risposte e proporre nuove funzionalità. È anche possibile usufruire gratuitamente del supporto per l'installazione con Assistenza live chat.
Blog
Sfruttare i vantaggi delle informazioni dettagliate e delle raccomandazioni disponibili nel sito dei blog sugli strumenti di sviluppo per mantenersi aggiornati su tutte le nuove versioni con post di approfondimento su una vasta gamma di funzionalità.
Cronologia delle note sulla versione di Visual Studio 2017
Per altre informazioni relative a versioni precedenti di Visual Studio 2017, vedere la pagina Cronologia delle note sulla versione di Visual Studio 2017.