Note sulla versione di Visual Studio 2019 versione 16.0
Requisiti di sistema | della community | degli sviluppatori Compatibilità Compatibilità | delle condizioni | di licenza della cronologia delle versioni del codice | | distribuibile Blog | Whats New in Visual Studio Docs
Nota
Questa non è la versione più recente di Visual Studio. Per scaricare la versione più recente, visitare il sito di Visual Studio .
Novità di Visual Studio 2019 versione 16.0
Intervallo di tempo del supporto
Visual Studio 2019 versione 16.0 non è più supportato.
Gli utenti Enterprise e Professional di Visual Studio 2019 versione 16.0 beneficiano del supporto e riceveranno correzioni per le vulnerabilità della sicurezza fino a gennaio 2021. Questo intervallo di tempo dipende dal fatto che in dicembre 2019 Visual Studio 2019 versione 16.4 è stato designato come baseline di manutenzione finale per il prodotto Visual Studio 2019. Per altre informazioni sulle baseline supportate di Visual Studio, vedere i criteri di supporto per Visual Studio 2019.
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 2019.
Rilasci di Visual Studio 2019 versione 16.0
- 12 gennaio 2021 - (versione finale) Visual Studio 2019 versione 16.0.22
- 8 dicembre 2020 - Visual Studio 2019 versione 16.0.21
- 10 novembre 2020 - Visual Studio 2019 versione 16.0.20
- 13 ottobre 2020 - Visual Studio 2019 versione 16.0.19
- 8 settembre 2020 - Visual Studio 2019 versione 16.0.18
- 11 agosto 2020 - Visual Studio 2019 versione 16.0.17
- 14 luglio 2020 - Visual Studio 2019 versione 16.0.16
- 09 giugno 2020 - Visual Studio 2019 versione 16.0.15
- 12 maggio 2020 - Visual Studio 2019 versione 16.0.14
- 14 aprile 2020 - Visual Studio 2019 versione 16.0.13
- 10 marzo 2020 - Visual Studio 2019 versione 16.0.12
- 14 gennaio 2020 - Visual Studio 2019 versione 16.0.11
- 10 dicembre 2019 - Visual Studio 2019 versione 16.0.10
- 15 ottobre 2019 - Visual Studio 2019 versione 16.0.9
- 10 settembre 2019 - Visual Studio 2019 versione 16.0.8
- 13 agosto 2019 - Visual Studio 2019 versione 16.0.7
- 9 luglio 2019 - Visual Studio 2019 versione 16.0.6
- 11 giugno 2019 - Visual Studio 2019 versione 16.0.5
- 14 maggio 2019 - Visual Studio 2019 versione 16.0.4
- 30 aprile 2019 - Visual Studio 2019 versione 16.0.3
- 18 aprile 2019 - Visual Studio 2019 versione 16.0.2
- 09 aprile 2019 - Visual Studio 2019 versione 16.0.1
- 2 aprile 2019 - Visual Studio 2019
Blog di Visual Studio 2019
Il blog di Visual Studio 2019 è la fonte ufficiale di informazioni dettagliate sul prodotto da parte del team Visual Studio Engineering. Qui è possibile trovare informazioni approfondite sulle versioni di Visual Studio 2019.
Visual Studio 2019 versione 16.0.22
Data di rilascio: 12 gennaio 2020
Avviso di sicurezza per la versione 16.0.22
CVE-2021-1651 / CVE-2021-1680 Vulnerabilità di elevazione dei privilegi del servizio agente di raccolta standard dell'hub di diagnostica
Esiste una vulnerabilità di elevazione dei privilegi quando l'agente di raccolta standard dell'hub di diagnostica gestisce in modo non corretto le operazioni sui dati.
CVE-2020-26870 Programma di installazione di Visual Studio vulnerabilità di esecuzione di codice remoto
Esiste una vulnerabilità di esecuzione remota del codice quando il Programma di installazione di Visual Studio tenta di visualizzare codice Markdown dannoso.
Visual Studio 2019 versione 16.0.21
Data di rilascio: 08 dicembre 2020
Avviso di sicurezza per la versione 16.0.21
CVE-2020-17156 Vulnerabilità di esecuzione remota del codice di Visual Studio
Esiste una vulnerabilità di esecuzione remota del codice quando Visual Studio clona un repository dannoso.
Visual Studio 2019 versione 16.0.20
Data di rilascio: 10 novembre 2020
Avviso di sicurezza per la versione 16.0.20
CVE-2020-17100 Vulnerabilità di manomissione di Visual Studio
Quando Python Tools per Visual Studio crea la cartella python27, esiste una vulnerabilità alla manomissione. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire processi in un contesto con privilegi elevati.
Visual Studio 2019 versione 16.0.19
Data di rilascio: 13 ottobre 2020
In questa versione 16.0.19
- .NET Core SDK 2.1.616 aggiunto a Visual Studio 2019.
Visual Studio 2019 versione 16.0.18
Data di rilascio: 8 settembre 2020
Problema risolto nella versione 16.0.18
- Le versioni non più supportate di .NET Core non verranno più reinstallate durante un ripristino o un aggiornamento se sono state rimosse all'esterno dell'installazione di Visual Studio.
Avviso di sicurezza per la versione 16.0.18
CVE-2020-1130 Vulnerabilità di elevazione dei privilegi dell'agente di raccolta standard dell'hub di diagnostica
Esiste una vulnerabilità di elevazione dei privilegi quando l'agente di raccolta standard dell'hub di diagnostica gestisce in modo non corretto le operazioni sui dati. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire processi in un contesto con privilegi elevati.
CVE-2020-1133 Vulnerabilità di elevazione dei privilegi dell'agente di raccolta standard dell'hub di diagnostica
Esiste una vulnerabilità di elevazione dei privilegi quando l'agente di raccolta standard dell'hub di diagnostica gestisce in modo non corretto le operazioni sui file. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire processi in un contesto con privilegi elevati.
CVE-2020-16856 Vulnerabilità di esecuzione remota del codice di Visual Studio
Esiste una vulnerabilità di esecuzione del codice remoto in Visual Studio quando gestisce in modo non corretto gli oggetti in memoria. Un utente malintenzionato può sfruttare efficacemente questa vulnerabilità ed eseguire codice arbitrario nel contesto dell'utente corrente.
CVE-2020-16874 Vulnerabilità di esecuzione remota del codice di Visual Studio
Esiste una vulnerabilità di esecuzione del codice remoto in Visual Studio quando gestisce in modo non corretto gli oggetti in memoria. Un utente malintenzionato può sfruttare efficacemente questa vulnerabilità ed eseguire codice arbitrario nel contesto dell'utente corrente.
CVE-2020-1045 Vulnerabilità di bypass delle funzionalità di sicurezza principali di Microsoft ASP.NET
Esiste una vulnerabilità di bypass della funzionalità di sicurezza nel modo in cui Microsoft ASP.NET Core analizza i nomi dei cookie codificati. Il parser del cookie di ASP.NET Core decodifica intere stringhe di cookie e ciò potrebbero consentire a un utente malintenzionato di impostare un secondo cookie con il nome codificato con percentuale.
Visual Studio 2019 versione 16.0.17
Data di rilascio: 11 agosto 2020
Problema risolto nella versione 16.0.17
Avviso di sicurezza per la versione 16.0.17
CVE-2020-1597 ASP.NET vulnerabilità Core Denial of Service
Esiste una vulnerabilità Denial Of Service quando ASP.NET Core gestisce le richieste Web in modo non corretto. Un utente malintenzionato potrebbe sfruttare questa vulnerabilità e causare un attacco Denial of Service contro un'applicazione Web ASP.NET Core. La vulnerabilità può essere sfruttata da remoto, senza autenticazione.
Visual Studio 2019 versione 16.0.16
Data di rilascio: 14 luglio 2020
Problemi risolti nella versione 16.0.16
- È stata risolta la regressione CodeGen del compilatore per la chiamata di una funzione virtuale con la versione 15.9
- Correzione di un bug nelle importazioni mancanti del linker C++ quando si usano le librerie Umbrella con differenze nell'uso di lettere maiuscole e minuscole nel suffisso del nome della DLL.
- Correzione di un bug nel compilatore C++ ARM64 per cui potevano essere ripristinati valori errati dopo setjmp.
Avviso di sicurezza per la versione 16.0.16
CVE-2020-1393 Vulnerabilità di elevazione dei privilegi del servizio 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 di Windows non riesce a purificare correttamente l'input, causando un comportamento di caricamento delle librerie non sicuro.
CVE-2020-1416 Vulnerabilità di elevazione dei privilegi di Visual Studio
Esiste una vulnerabilità di elevazione dei privilegi in Visual Studio durante il caricamento delle dipendenze software.
CVE-2020-1147 Vulnerabilità Denial of Service di .NET Core
Un utente malintenzionato non autenticato remoto potrebbe sfruttare questa vulnerabilità inviando richieste appositamente predisposte a un'applicazione ASP.NET Core o a un'altra applicazione che analizza determinati tipi di XML. L'aggiornamento della sicurezza risolve la vulnerabilità limitando i tipi che possono essere presenti nel payload XML.
Visual Studio 2019 versione 16.0.15
Data di rilascio: 09 giugno 2020
Problemi risolti nella versione 16.0.15
Avviso di sicurezza per la versione 16.0.15
CVE-2020-1108 / CVE-2020-1108.NET Core Denial of Service vulnerabilità
Per risolvere in modo completo CVE-2020-1108, Microsoft ha rilasciato aggiornamenti per .NET Core 2.1 e .NET Core 3.1. I clienti che usano una di queste versioni di .NET Core devono installare la versione più recente di .NET Core. Vedere le note sulla versione per i numeri di versione più recenti e istruzioni per l'aggiornamento di .NET Core.
CVE-2020-1202 / CVE-2020-1203 Vulnerabilità di elevazione dei privilegi del servizio agente di raccolta standard dell'hub di diagnostica
Esiste una vulnerabilità di elevazione dei privilegi quando l'agente di raccolta standard dell'hub di diagnostica o l'agente di raccolta standard di Visual Studio non riesce a gestire correttamente gli oggetti in memoria.
CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 Vulnerabilità di elevazione dei privilegi del servizio 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 le operazioni sui file
Visual Studio 2019 versione 16.0.14
Data di rilascio: 12 maggio 2020
Problemi risolti nella versione 16.0.14
- Aggiunta di una modifica che consente agli amministratori IT aziendali e ai tecnici della distribuzione di configurare strumenti come il client Microsoft Update e SCCM per determinare l'applicabilità degli aggiornamenti di VS2019 16.0 ospitati nel catalogo di Microsoft Update e in WSUS.
Avviso di sicurezza per la versione 16.0.14
CVE-2020-1108 Vulnerabilità Denial of Service di .NET Core
Un utente malintenzionato non autenticato remoto potrebbe sfruttare questa vulnerabilità inviando richieste appositamente predisposte all'applicazione .NET Core. L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui l'applicazione Web .NET Core gestisce le richieste Web.
Visual Studio 2019 versione 16.0.13
Data di rilascio: 14 aprile 2020
Avviso di sicurezza per la versione 16.0.13
CVE-2020-0899 Vulnerabilità di elevazione dei privilegi in Microsoft Visual Studio
Esiste una vulnerabilità di elevazione dei privilegi quando il servizio di aggiornamento di Microsoft Visual Studio gestisce in modo errato le autorizzazioni per i file. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe sovrascrivere contenuto di file arbitrario nel contesto di sicurezza del sistema locale.
CVE-2020-0900 Vulnerabilità di elevazione dei privilegi del servizio di installazione delle estensioni di Visual Studio
Esiste una vulnerabilità di elevazione dei privilegi quando il servizio di installazione delle estensioni di Visual Studio gestisce in modo errato le operazioni su file. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eliminare file in posizioni arbitrarie con autorizzazioni elevate.
CVE-2020-5260 Vulnerabilità di perdita delle credenziali in Git per Visual Studio a causa di convalida insufficiente degli URL
Esiste una vulnerabilità di perdita delle credenziali quando gli URL creati appositamente vengono analizzati e inviati ai programmi di supporto per le credenziali. Questa condizione può portare all'invio di credenziali all'host errato.
Visual Studio 2019 versione 16.0.12
Data di rilascio: 10 marzo 2020
Problemi risolti nella versione 16.0.12
- Il file vcruntime.h in VS Preview 2019 causa l'avviso RC4011
- Nuove opzioni di mitigazione Spectre nel compilatore C++: /Qspectre-load & /Qspectre-load-cf per la protezione avanzata del carico speculativo.
Avviso di sicurezza
CVE-2020-0793 & CVE-2020-0810 Vulnerabilità di elevazione dei privilegi del servizio di raccolta standard dell'hub di diagnostica
Esiste una vulnerabilità di elevazione dei privilegi quando l'agente di raccolta standard dell'hub di diagnostica gestisce in modo errato le operazioni sui file o il servizio dell'agente di raccolta standard dell'hub di diagnostica di Windows non riesce a purificare correttamente l'input.
CVE-2020-0884 Vulnerabilità di spoofing quando si crea il componente aggiuntivo di Outlook Web
CVE-2020-0789 Vulnerabilità di tipo Denial of Service del servizio di installazione delle estensioni di Visual Studio
Visual Studio 2019 versione 16.0.11
Data di rilascio: 14 gennaio 2020
Avviso di sicurezza
CVE-2020-0602 Vulnerabilità Denial Of Service ASP.NET Core
Un utente malintenzionato non autenticato remoto potrebbe sfruttare questa vulnerabilità inviando richieste appositamente predisposte all'applicazione ASP.NET Core. L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui l'applicazione Web ASP.NET Core gestisce le richieste Web.
CVE-2020-0603 Vulnerabilità di esecuzione remota del codice di ASP.NET Core
Un utente malintenzionato non autenticato remoto potrebbe sfruttare questa vulnerabilità inviando richieste appositamente predisposte all'applicazione ASP.NET Core. L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui l'applicazione Web ASP.NET Core gestisce la memoria.
Visual Studio 2019 versione 16.0.10
Data di rilascio: 10 dicembre 2019
Problemi risolti nella versione 16.0.10
Avviso di sicurezza
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.
CVE-2019-1486 Vulnerabilità del reindirizzamento URL dell'estensione Live Share
È stata rilevata una vulnerabilità di spoofing nell'estensione Visual Studio Live Share, a causa della quale un guest connesso a una sessione di Live Share veniva reindirizzato a un URL arbitrario specificato dall'host della sessione. Un utente malintenzionato avrebbe potuto sfruttare questa vulnerabilità e ottenere l'apertura di un browser nel computer del guest con passaggio a un URL dannoso senza consenso esplicito. Questo faceva parte della funzionalità "server condiviso" di Live Share che consentiva l'inoltro automatico delle porte durante una sessione di Live Share attiva. L'aggiornamento più recente risolve questa vulnerabilità richiedendo il consenso al guest di Live Share prima di passare all'URL specificato dall'host.
Visual Studio 2019 versione 16.0.9
Data di rilascio: 15 ottobre 2019
Avviso di sicurezza
CVE-2019-1425 Vulnerabilità di elevazione dei privilegi per i pacchetti NPM (pubblicato il 12 novembre 2019)
Esiste una vulnerabilità di elevazione dei privilegi quando Visual Studio non riesce a convalidare correttamente collegamenti reali durante l'estrazione dei file archiviati. Le vulnerabilità sono state introdotte dai pacchetti NPM usati da Visual Studio come descritto nei due avvisi NPM seguenti: npmjs.com/advisories/803 e npmjs.com/advisories/886. Le versioni aggiornate di questi pacchetti NPM sono incluse in questa versione di Visual Studio.
Visual Studio 2019 versione 16.0.8
Data di rilascio: 10 settembre 2019
Problemi risolti in Visual Studio 2019 versione 16.0.8
- Assembly non corrispondente al codice per la funzione
- Visual Studio smette di rispondere durante la creazione di un nuovo progetto SSIS
- Risoluzione dei blocchi dell'interfaccia utente che si verificano dopo l'utilizzo esteso dell'editor.
Avviso di sicurezza
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 2019 versione 16.0.7
Data di rilascio: 13 agosto 2019
Problemi risolti in Visual Studio 2019 versione 16.0.7
- È stata corretta una regressione delle prestazioni quando viene raggiunto un punto di interruzione durante il debug passo a passo.
- È stata corretta una regressione delle prestazioni all'avvio di IntelliTrace.exe.
- È stata corretto un bug che causa un arresto anomalo quando non è possibile raggiungere TFS.
- Correzione dell'errore di compilazione HRESULT E_FAIL in alcuni progetti C++ durante l'aggiornamento a 16.0.1
Avviso di sicurezza
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.
**CVE-2019-1301: vulnerabilità Denial of Service in .NET Core
Esiste una vulnerabilità Denial Of Service quando .NET Core gestisce le richieste in modo non corretto. Un utente malintenzionato potrebbe sfruttare questa vulnerabilità e causare un attacco Denial of Service contro un'applicazione Web .NET Core. La vulnerabilità può essere sfruttata da remoto, senza autenticazione.
L'aggiornamento risolve la vulnerabilità correggendo il modo in cui l'applicazione Web .NET Core gestisce le richieste Web.
Visual Studio 2019 versione 16.0.6
Data di rilascio: 09 luglio 2019
Problemi risolti in Visual Studio 2019 versione 16.0.6
- È stato corretto il supporto dell'assistente vocale nei sistemi che vengono eseguiti in Windows 10 versione 1903 o installati con .NET 4.8.
Avviso di sicurezza
CVE-2019-1075 Vulnerabilità di spoofing in ASP.NET Core
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.
CVE-2019-1077 Vulnerabilità dell'estensione durante l'aggiornamento automatico di Visual Studio
Esiste una vulnerabilità di elevazione dei privilegi quando il processo di aggiornamento automatico dell'estensione di Visual Studio non esegue in modo 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 l'aggiornamento automatico dell'estensione di Visual Studio esegue operazioni sui file.
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 https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.
Visual Studio 2019 versione 16.0.5
Data di rilascio: 11 giugno 2019
Problemi risolti in Visual Studio 2019 versione 16.0.5
- Correzione del problema noto: nessun snapshot creato per il codice nativo C++ nello strumento Utilizzo memoria nella finestra Strumenti di diagnostica durante il debug.
- Miglioramento dei problemi di prestazioni al caricamento di Visual Studio.
Visual Studio 2019 versione 16.0.4
Data di rilascio: 14 maggio 2019
Problemi risolti in Visual Studio 2019 versione 16.0.4
- Quando ci si connette a IIS la richiesta di connessione viene ripetuta più volte.
- Le applicazioni WPF non funzionano dopo l'aggiornamento a FW 4.8.
- L'installazione di typescript 3.3 disabilita la compilazione della versione 2.2.
- Impossibile collegare il debugger quando si collegano più progetti di avvio in Visual Studio 2019.
- Problema noto: la scheda Applicazione delle pagine delle proprietà del progetto VB viene interrotta quando si esegue l'isntaling di .NET Framework 4.8 Developer Pack.
- L'installazione delle estensioni di Visual Studio può non riuscire quando si tenta di sovrascrivere file NuGet.
- microsoft.diagnosticshub.dotnetobjectalloc.vsix risulta mancante nel programma di installazione offline.
Avviso di sicurezza
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 2019 versione 16.0.3
Data di rilascio: 30 aprile 2019
Novità in Visual Studio 2019 versione 16.0.3
- Visual Studio Tools per Kubernetes supporta ora la versione di Azure Dev Spaces più recente.
Problemi risolti in Visual Studio 2019 versione 16.0.3
- L'opzione di eliminazione non è presente nel menu contestuale di Esplora soluzioni nei progetti Xamarin Forms per Android.
- Xamarin.Android: non è possibile selezionare il framework di destinazione 28 nelle impostazioni del manifesto Android.
- Impossibile caricare il file o l'assembly 'Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' o una delle relative dipendenze. Impossibile trovare il file specificato..
- Errore "Si è verificato un errore durante l'esecuzione del generatore di codice selezionato" quando si tenta di creare una nuova visualizzazione.
- Android Berechtigungsliste ist leer - L'elenco di autorizzazioni per Android è vuoto.
- Icone mancanti per i file AXML in Visual Studio 2019.
- Le icone per i file AXML non vengono visualizzate.
- L'installazione delle estensioni di Visual Studio può non riuscire quando si tenta di sovrascrivere file NuGet.
- L'istruzione C# switch in un'espressione costante può produrre errori gravi del compilatore.
Visual Studio 2019 versione 16.0.2
Data di rilascio: 18 aprile 2019
Problemi risolti in Visual Studio 2019 versione 16.0.2
- Il nome della soluzione nella barra del titolo è troncato.
- Interpolazione mancante nell'avviso durante la creazione di pacchetti di progetti del servizio cloud.
- Visual Studio non visualizzerà più un messaggio di errore all'avvio dopo la reimpostazione o l'importazione di impostazioni in alcuni casi.
- Sono stati risolti problemi di accessibilità nei progetti di servizio cloud a causa dei quali le utilità di lettura dello schermo non leggono input non corretti nella finestra di configurazione della diagnostica.
Visual Studio 2019 versione 16.0.1
Data di rilascio: 09 aprile 2019
Problemi risolti in Visual Studio 2019 versione 16.0.1
- Opzione per l'aggiunta della piattaforma UWP (Universal Windows Platform) quando si crea un nuovo progetto Xamarin.Forms dal modello di progetto "App per dispositivi mobili (Xamarin.Forms)".
- Informazioni > sul titolo della finestra in Visual Studio 2019 mostra ancora 'RC' dopo l'aggiornamento.
- Quando si aggiorna Visual Studio 2019 da RC a GA si continuano a visualizzare i collegamenti RC per Visual Studio.
- In Visual Studio 2019 Preview 1.1 non è possibile creare un modulo Xamarin UWP (Universal Windows Platform).
- Caricamento pacchetto non riuscito quando si avvia Visual Studio 2019 dopo l'aggiornamento da Preview 4.4 a 16.0.
Visual Studio 2019
Data di rilascio: 2 aprile 2019
Riepilogo delle novità in Visual Studio 2019
Installa
- Download degli aggiornamenti di Visual Studio in background, per una maggiore efficienza.
- Controllo della modalità di installazione per gli aggiornamenti di Visual Studio.
IDE
- Collaborazione con altri utenti grazie a Visual Studio Live Share, installato per impostazione predefinita. Il supporto di linguaggi aggiuntivi per C++, VB.NET e Razor consente agli utenti guest di visualizzare la soluzione e di condividere la differenze di controllo del codice sorgente.
- Apertura del codice usato di recente o avviato da uno dei flussi usati più di frequente, ad esempio clonazione, apertura o creazione di un progetto nella nuova finestra iniziale.
- Creazione di nuovi progetti con un'esperienza di ricerca e filtri migliorati grazie a un nuovo elenco di modelli ordinati in base alla diffusione.
- Maggiore disponibilità di spazio verticale per il codice e un aspetto moderno grazie a un set di nuove modifiche visuali nella shell.
- Visualizzazione di una versione più chiara dell'IDE indipendentemente dalla configurazione o dal dimensionamento dello schermo poiché il supporto per la sensibilità ai valori DPI per monitor è stato migliorato.
- Funzionalità di ricerca migliorate in Visual Studio per menu, comandi, opzioni e componenti installabili.
- Informazioni rapide sull'integrità del file di codice tramite un indicatore per il documento. Esecuzione e configurazione vengono realizzate tramite la pulizia del codice avviata con un solo clic dall'indicatore.
- Semplice gestione delle funzionalità di anteprima per cui è stato dato il consenso esplicito in una nuova pagina appropriata nella finestra di dialogo Opzioni.
- Creazione di nuovi progetti con miglioramenti nella ricerca basata su tag ed elenco "Modelli di progetto recenti" facilmente accessibile.
- Creazione di nuovi elementi direttamente dalla ricerca di Visual Studio e individuazione più rapida dei risultati con pertinenza migliore.
- Nuova esperienza di gestione delle notifiche per restare sempre aggiornati su informazioni importanti, ad esempio le richieste di Visual Studio Live Share.
- Possibilità di salvare una raccolta di correzioni per la pulizia del codice come profilo per selezionare facilmente le correzioni da eseguire durante la pulizia del codice.
- Nuovi refactoring e correzioni del codice per .NET.
- Configurazione semplificata dei progetti .NET Core con file di progetto di prima classe.
- Visualizzazione dello stato delle estensioni con tag Anteprima, A pagamento e Versione di prova nella finestra di dialogo Estensioni e aggiornamenti.
- Controllo e configurazione delle funzionalità di anteprima da attivare, in quanto in questa anteprima sono state ripristinate le impostazioni predefinite.
- Possibilità di mantenere le estensioni aggiornate escludendo determinate API nelle finestre di test, che sono state contrassegnate come deprecate in questa versione.
- Accesso, esplorazione, clonazione con un clic o connessione ai repository ospitati da Azure DevOps tramite la finestra iniziale.
- Installazione delle estensioni per gli altri host di controllo del codice sorgente per visualizzare i repository di proprietà dell'utente e dell'organizzazione.
- Miglioramento dell'esperienza con tema blu, che tiene conto dei commenti e suggerimenti sulla versione riducendo la luminosità, migliorando il contrasto generale e risolvendo altri problemi di usabilità.
- Applicazione delle preferenze di stile per il codice dalla riga di comando con lo strumento globale dotnet format.
- MSBuild e Visual Studio ora fanno riferimento a .NET Framework 4.7.2 per impostazione predefinita.
- Rimozione di alcune funzionalità correlate a Servizio app di Azure da Esplora server. In Cloud Explorer sono invece disponibili funzionalità equivalenti.
Prestazioni
- Controllo sulle modalità di caricamento delle soluzioni grazie ai nuovi miglioramenti delle prestazioni di Visual Studio, che interessano la velocità di esecuzione dei passaggi e dello spostamento tra i rami e altro ancora.
- Visualizzazione dello stato di caricamento della soluzione nel centro stato attività.
- Scelta dei progetti da caricare nella soluzione aperta con i file di filtro della soluzione.
- Miglioramento delle prestazioni di digitazione limitando l'impatto dei componenti ausiliari.
- Possibilità di attivare o disattivare la nuova opzione per disabilitare il ripristino dello stato della gerarchia del progetto e della finestra degli strumenti.
- Nuova combinazione di tasti per Compila selezione e rapida compilazione di tutto il codice in CMake con il nuovo comando Compila tutto.
- Scrittura più rapida di codice grazie alle prestazioni migliorate di IntelliSense per i file C++ nei progetti CMake.
- Caricamento di soluzioni .NET Core di dimensioni maggiori e notevole riduzione della memoria usata dalle stesse nel corso del tempo.
- Rapido caricamento delle dipendenze di progetto con un nuovo comando di menu contestuale per il progetto.
- Suggerimenti per le prestazioni in Controllo prestazioni.
Debug e diagnostica generali
- Parole chiave di ricerca nelle finestre Espressione di controllo, Auto e Variabili locali durante l'esecuzione del debug per migliorare la possibilità di trovare oggetti o valori.
- Visualizzazione di un elenco a discesa di identificatori di formato nelle finestre Espressione di controllo, Auto e Variabili locali quando si esaminano i dati.
- Uso di un visualizzatore personalizzato, ora compatibile con .NET Core.
- Debug di applicazioni di grandi dimensioni con elevate quantità di moduli e file PDB.
- Avvio di Google Chrome con argomenti personalizzati e debug delle applicazioni JavaScript, il tutto all'interno dell'IDE di Visual Studio.
- Uso dell'evidenziazione del percorso critico per gli strumenti Utilizzo CPU e DotNet Object Allocation (Allocazione di oggetti .NET) nel profiler delle prestazioni.
- Interrompere quando il valore della proprietà di un oggetto specifico cambia nelle applicazioni .NET Core 3.0+ usando punti di interruzione dei dati, una funzionalità originariamente esclusiva di C++.
- Dalla Preview 1, l'interfaccia utente è stata aggiornata e semplificata per eseguire ricerche nelle finestre Auto, Variabili locali ed Espressioni di controllo. La funzione Aumenta profondità di ricerca è stata sostituita con un elenco a discesa per poter selezionare velocemente il livello di profondità per le ricerche iniziali e successive.
Controllo del codice sorgente e Team Explorer
- Archiviazione temporanea delle modifiche in modo che sia possibile eseguire un'altra attività tramite il supporto degli strumenti Git di Team Explorer per Git stash.
- Possibilità di usare l'estensione facoltativa Richieste pull per Visual Studio, disponibile in Visual Studio Marketplace, che si integra con le verifiche di richiesta pull in Visual Studio.
- Uso della nuova esperienza degli elementi di lavoro di Azure DevOps basata sui flussi di lavoro degli sviluppatori, ad esempio visualizzazioni di elementi di lavoro specifici dell'utente, creazione di un ramo da un elemento di lavoro, ricerca di elementi di lavoro con la funzione menzione e modifica inline.
Estendibilità
- Uso di un singolo SDK unificato di Visual Studio nel pacchetto NuGet Microsoft.VisualStudio.SDK.
- Possibilità di sfruttare l'aggiornamento del progetto VSIX che ora include una classe AsyncPackage.
- Possibilità di provare il nuovo modello di progetto VSIX vuoto aggiunto.
- Nella finestra di dialogo Estensioni e aggiornamenti è ora indicato se un'estensione è gratuita, a pagamento o una versione di valutazione gratuita.
Linguaggi di programmazione
C#
Accedere all'anteprima delle funzionalità del linguaggio 8.0 supportate dal compilatore C#, tra cui:
- Tipi riferimento nullable: quando la funzionalità è attivata (ad esempio, a livello di progetto con
#nullable enable
o a livello di progetto con<NullableContextOptions>enable</NullableContextOptions>
), i tipi riferimento vengono considerati nullable se annotati con?
e come non nullable in caso contrario. Il compilatore quindi analizza il flusso di valori null e segnala eventuali utilizzi non sicuri. switch
espressioni: offreswitch
semantiche simili in un contesto di espressione.- Criteri ricorsivi: i nuovi modelli consentono di testare campi/proprietà e elementi posizionali (da tuple o decostruzione).
- Supporto per i tipi
Range
eIndex
usato in CoreFX per il sezionamento, tra cui la sintassi dei valori letteralix..y
per gli intervalli. - I flussi asincroni rappresentati da
IAsyncEnumerable<T>
possono essere enumerati in modo asincrono conawait foreach
e creati con metodi iteratorasync IAsyncEnumerable<T>
. using
dichiarazioni: eliminare alla fine del blocco corrente, senza aumentare il livello di annidamento. Gli structref
possono essere eliminati implementando un metodoDispose()
pubblico.static
funzioni locali: le funzioni locali contrassegnate constatic
non possono fare riferimentothis
o variabili nelle funzioni di inclusione.- Funzioni locali ed espressioni lambda possono ora dichiarare parametri e variabili locali che consentono di occultare i nomi delle variabili delle funzioni contenitore.
- Assegnazione null-coalescing:
x ??= y;
assegna soloy
ax
sex
eranull
.
Altre informazioni sono disponibili nella panoramica di C# 8.0 di Mads.
Vedere lo stato delle funzionalità del linguaggio C# e le modifiche che causano un'interruzione per maggiori dettagli.
Inoltre, è possibile usare funzionalità del linguaggio C# più moderne in Visual Studio per impostazione predefinita.
C++
- Risparmio di tempo quando si scrive codice C++ e XAML usando Visual Studio IntelliCode, un'estensione facoltativa che offre consigli basati sull'intelligenza artificiale per il codice.
- Avvisi di analisi codice all'interno dell'editor. L'analisi codice viene eseguita automaticamente in background e gli avvisi vengono visualizzati come linee a zigzag di colore verde.
- Nuova barra dei modelli, che usa l'interfaccia utente Finestra di anteprima e supporta i modelli annidati.
- Nuova implementazione aggiornata del controllo dei profili di durata C++.
- Configurazione dei progetti CMake tramite il nuovo editor delle impostazioni di CMake, che offre un'alternativa a CMakeSettings.json.
- Introduzione di una serie di miglioramenti per il back-end, tra cui la vettorializzazione SIMD di OpenMP, l'accelerazione della fase di collegamento e un incorporamento più aggressivo.
- Apertura di cache di CMake esistenti generate da strumenti esterni, come CMakeGUI, o sistemi di meta-compilazione personalizzati.
- Miglioramento dell'analisi con /Qspectre per fornire assistenza per la mitigazione per Spectre variante 1 (CVE-2017-5753). Per altre informazioni, vedere il post di blog del team di Visual C++.
- Spostamento rapido tra gli argomenti di esempio precedenti ora che la barra modelli per IntelliSense per i modelli ha un elenco a discesa degli elementi usati più di recente.
F#
- F# 4.6 è stata rilasciata insieme ad altri miglioramenti del compilatore.
- Miglioramenti delle prestazioni per soluzioni di dimensioni maggiori e diverse correzioni di bug per gli strumenti F# ed F#.
- Informazioni su parte dello straordinario lavoro svolto da collaboratori open source per il linguaggio e gli strumenti F#.
JavaScript/TypeScript
- Debug di unit test nei progetti Node.js.
- Supporto aggiuntivo per gli utenti che compilano progetti TypeScript da pacchetti NuGet e npm.
Python
- Semplificazione dell'aggiunta di ambienti virtuali e Conda tramite la finestra di dialogo per l'aggiunta di ambienti di Python.
- Gestione semplificata degli ambienti Python, con il supporto migliorato per le aree di lavoro Apri cartella usando una nuova barra degli strumenti per la selezione dell'ambiente Python.
- Creazione di sessioni di Visual Studio Live Share e collaborazione al codice Python con altri utenti di Visual Studio.
Tecnologie Web
- Possibilità di sfruttare il supporto aggiuntivo per usare i progetti .NET Core 3.0.
- Verifica della profilatura CPU di ASP.NET.
- Uso dell'estensione Snapshot Debugger per app Web .NET in esecuzione in macchine virtuali, set di scalabilità di macchine virtuali e servizio Azure Kubernetes.
- Sviluppo di applicazioni contenitore per Kubernetes con Visual Studio Tools per Kubernetes
- Introduzione di alcuni miglioramenti per l'esperienza di gestione degli elementi di lavoro di Azure DevOps, tra cui il supporto incorporato per l'assegnazione di elementi di lavoro e un'esperienza con #mention migliorata.
- Gestione semplificata dei file di progetto e app console migliorata per gli strumenti di .NET Core.
- Introduzione di alcuni miglioramenti per il riepilogo del profilo di pubblicazione per tutte le app. È inoltre ora disponibile una nuova sezione denominata Dipendenze quando un'app viene pubblicata in Servizio app di Azure.
- Miglioramenti visivi quando si crea una nuova applicazione ASP.NET
- Reimmissione delle credenziali pubbliche per un profilo di pubblicazione di Funzioni di Azure esistente
Strumenti per contenitori
- Singolo progetto più uniforme per lo sviluppo di contenitori e il debug.
- Supporto aggiuntivo per il debug di immagini di base Alpine e altre.
Sviluppo di app per dispositivi mobili Xamarin
- Avvio più rapido grazie alla riduzione delle dimensioni del carico di lavoro Xamarin e prestazioni ottimizzate durante la creazione di nuovi progetti.
- Vedere altre informazioni sullo stato di compilazione dettagliato.
- Uso di IntelliCode con codice XAML di Xamarin.Forms.
- Visualizzazione dell'anteprima di XAML senza prima compilare il progetto con la nuova modalità di anteprima di base nel visualizzatore anteprima di Xamarin.Forms.
- Visualizzazione in anteprima del codice XAML di Xamarin.Forms in diversi dispositivi il nuovo elenco a discesa dei dispositivi del visualizzatore anteprima di Xamarin.Forms.
- Verifica dei nuovi controlli del pannello delle proprietà per Xamarin.Forms.
- Uso del nuovo modello di Shell per Xamarin.Forms.
- Miglioramenti alle prestazioni di compilazione iniziali e incrementali di Xamarin.Android.
- Creazione di nuovi emulatori Android usando il menu delle destinazioni di distribuzione.
- Accelerazione dei tempi di compilazione grazie ai miglioramenti per la compilazione in Xamarin.Android.
- Distribuzione rapida migliorata e supporto di d8/r8 per Xamarin.Android.
- Uso di funzionalità di produttività avanzata in Xamarin.Android Designer.
- Miglioramenti per Xamarin.Android Designer con supporto iniziale per i layout con vincoli.
- Maggiore produttività con Xamarin.Android Designer usando Vai a definizione e miglioramento di IntelliSense XML e del completamento automatico per i file di risorse Android.
Piattaforma UWP (Universal Windows Platform)
- Conservazione di commenti, spaziature, spazi dei nomi e altre modifiche del testo quando si apportano modifiche dalla finestra di progettazione. La finestra di progettazione del manifesto di pacchetto mantiene ora una rigorosa fedeltà alle modifiche XML apportate al file Package.appxmanifest.
- Uso del progetto Creazione pacchetti di applicazione Windows per i progetti .NET Core per la produzione di pacchetti MSIX.
- Uso della procedura guidata di creazione di pacchetti per gli invii diretti in Microsoft Store.
- La distribuzione in dispositivi Windows Mobile non è più supportata in Visual Studio 2019. I tentativi di distribuzione in un dispositivo Windows 10 Mobile genereranno un errore simile a "La distribuzione nei dispositivi Windows Mobile non è supportata in Visual Studio 2019". Se è necessario continuare a lavorare su un'applicazione per dispositivi Windows 10 Mobile, usare ancora Visual Studio 2017.
Strumenti di debug XAML:
- Xaml Edit & Continue supporta ora x:bind (UWP): XAML Edit & Continue supporta ora la modifica dei data binding creati con x:bind per i percorsi contenenti proprietà pubbliche, nome elemento, percorsi di proprietà indicizzate (raccolte), proprietà associate e proprietà cast. Altre modifiche non sono supportate. Questo miglioramento è disponibile per tutte le app con versioni minima e massima destinate a Windows 10 SDK versione 1809 (build 10.0.17763) o successiva. (Nota: XAML Edit & Continue è ora noto come XAML Ricaricamento rapido a partire da Visual Studio 2019 Update 2+).
SQL Server Data Tools
- Aggiornamento di SSDT e DacFX che ora include il supporto delle regole di confronto UTF-8.
Dettagli sulle novità in Visual Studio 2019
Installa
- È ora possibile scegliere come installare gli aggiornamenti di Visual Studio. La modalità predefinita prevede il download di tutti gli aggiornamenti e la successiva installazione e permette di continuare a usare Visual Studio durante il download degli aggiornamenti. Se si seleziona questa modalità, sarà necessario completare l'installazione aprendo il programma di installazione di Visual Studio e quindi scegliendo Continua.
- Gli aggiornamenti di Visual Studio vengono ora scaricati in background. Questi download vengono eseguiti solo quando il computer è inattivo. Al termine del download, si riceverà una notifica all'interno di Visual Studio che indica che i file scaricati sono pronti per essere installati.
- È ora possibile controllare la modalità di installazione degli aggiornamenti e se scaricare gli aggiornamenti o meno tramite il menu Opzioni strumenti > modificando le impostazioni nella pagina Aggiornamenti prodotti.
Finestra iniziale
La nuova finestra iniziale offre un'esperienza semplificata che consente di visualizzare rapidamente il codice all'avvio di Visual Studio.
- Visualizzazione dei progetti e delle cartelle recenti e possibilità di aprirli con un solo clic. Aggiunta e rimozione di elementi dall'elenco usando il menu di scelta rapida.
- Clonazione o esecuzione del checkout del codice usando qualsiasi URL pubblico o privato disponibile in Git, operazione che aprirà automaticamente anche la cartella nell'IDE.
- Accesso, esplorazione e clonazione con un clic o connessione ai repository ospitati da Azure DevOps o installazione di estensioni per altri host di controllo del codice sorgente per visualizzare i repository di proprietà dell'utente e dell'organizzazione.
- Ricerca nella condivisione di rete o nel disco locale di progetti, soluzioni o cartelle contenenti codice e aprirli nell'IDE.
- Selezione di un modello di progetto che offre un processo di scaffolding del codice per iniziare un nuovo progetto o una nuova soluzione.
- Ricerca di modelli di progetto in base a titolo, descrizione e tag o filtro in base a linguaggi, piattaforme e tipi di progetto disponibili. Nell'elenco predefinito sono riportati tutti i modelli disponibili, mentre nel riquadro a sinistra sono visualizzati i dieci modelli di progetto usati più di recente, per accedervi rapidamente. Una procedura guidata di due pagine consente di concentrarsi su una decisione alla volta.
Shell e piattaforma
- Identificazione rapida della versione di Visual Studio da aprire e usare grazie alla nuova icona migliorata del prodotto. La nuova icona è anche più visibile su un'ampia varietà di sfondi.
- Esperienza di un aspetto modernizzato di Visual Studio con il nostro tema blu aggiornato che offre un'interfaccia utente più chiara, rispettando nel contempo gli standard di accessibilità.
- Maggiore quantità di codice visualizzato, tramite modifiche che mirano a un aumento della compattezza e dello spazio verticale nell'IDE. La barra del titolo e la barra dei menu sono state unite, mantenendo tuttavia le funzionalità esistenti.
- Uso di Visual Studio come un'applicazione di sensibilità ai valori DPI per monitor grazie a una nuova impostazione sperimentale. Quando è attivata, questa impostazione consente di eseguire il rendering di parti di Visual Studio, ad esempio la shell e l'editor, in modo da ottenerne una visualizzazione più chiara, indipendentemente dalla configurazione e/o dal dimensionamento dello schermo.
- Esperienza di ricerca avanzata tra menu, comandi, opzioni e componenti installabili. La nuova ricerca consente ora di visualizzare i risultati in modo dinamico, corregge gli errori di ortografia e offre informazioni pertinenti (ad esempio le scelte rapide da tastiera) nei risultati della ricerca.
- Visualizzazione delle informazioni sull'integrità associate con il file aperto attualmente grazie alla funzionalità di indicatore di integrità del documento.
- Uno sviluppatore C# può ora pulire rapidamente alcuni suggerimenti di codifica più comuni con la funzione di pulizia del codice.
- Selezione del set di correzioni da eseguire tramite la configurazione della pulizia del codice.
- Visualizzazione del contenuto della cronologia degli Appunti tramite un menu di scelta rapida che estende Sequenza Appunti (CTRL + MAIUSC + V).
- L'esperienza di ricerca è stata migliorata in base a:
- Aggiunta di filtri per menu, componenti e modelli
- Integrazione delle selezioni per la ricerca per fornire i risultati più rilevanti
- Possibilità di creare e aggiungere nuovi progetti/elementi alla soluzione direttamente dalla ricerca di Visual Studio
- L'esperienza migliorata per la sensibilità ai valori DPI del monitor è ora attivata per impostazione predefinita per gli utenti che soddisfano il set minimo di requisiti (.NET 4.8 Preview e aggiornamento di aprile 2018 di Windows 10 o versioni successive). Le finestre degli strumenti, tra cui Casella degli strumenti, Punti di interruzione, Espressione di controllo, Variabili locali, Auto e Stack di chiamate, sono state convertite in modo da supportare la sensibilità ai valori DPI del monitor e di conseguenza vengono visualizzate più nitidamente, indipendentemente dalla configurazione e/o dal ridimensionamento dello schermo.
- Una nuova esperienza di notifica aggiunge:
- Una nuova icona e un contatore sulla barra di stato
- Un nuovo meccanismo di notifica di tipo avviso popup
- Notifiche sugli aggiornamenti di Visual Studio e sulla scadenza delle licenze di Visual Studio
- L'esperienza con tema blu modificata ha tenuto conto dei commenti e suggerimenti riducendo la luminosità, migliorando il contrasto e risolvendo altri problemi di usabilità.
- Sono state migliorate le funzionalità di trascinamento delle finestre sfruttando lo spazio libero disponibile nell'area della barra degli strumenti come area trascinabile.
- È ora possibile salvare una raccolta di correzioni per la pulizia del codice come profilo, in modo da poter selezionare rapidamente il set di correzioni da eseguire durante la pulizia del codice.
- Sono stati aggiunti alcuni tag nella finestra di dialogo Estensioni e aggiornamenti che permettono di identificare rapidamente se un'estensione sia disponibile come anteprima o a pagamento o se si tratti di una versione di valutazione.
- Il modo consigliato per implementare le descrizioni comandi dei dati in Visual Studio 2019 e versioni successive è ora IAsyncQuickInfoSourceProvider. Le API legacy per le descrizioni comandi delle informazioni rapide dell'editor IVsTextTipData e TextTipData sono deprecate in Visual Studio 2019 Preview 1.
- Gli smart tag dell'editor (famiglia di interfacce ISmartTag* nello spazio dei nomi Microsoft.VisualStudio.Language.Intellisense) sono deprecati e sostituiti dall'API LightBulb e non sono più supportati a partire da Visual Studio 2019 Preview 1.
- Le opzioni della soluzione Mostra configurazioni della build avanzate, Mostra sempre soluzione e Salva nuovi progetti alla creazione sono state rimosse a causa dello scarso uso. Per tali impostazioni è stato specificato il valore predefinito True.
- Acconsentire esplicitamente o rifiutare alcune funzionalità di anteprima usando la nuova pagina Funzionalità di anteprima disponibile in Strumenti > Opzioni > Ambiente > Funzionalità di anteprima.
Prestazioni
- È stato aggiunto un nuovo collegamento per la selezione della compilazione per cartelle e soluzioni: CTRL+B.
- Apertura rapida delle soluzioni di grandi dimensioni caricando la soluzione senza caricare tutti i progetti.
- Scelta dei progetti da caricare nella soluzione aperta con i file di filtro della soluzione.
- Creazione di un file di filtro della soluzione scaricando progetti da non aprire automaticamente, facendo clic con il pulsante destro del mouse sulla soluzione e selezionando Salva come filtro soluzione. È quindi possibile usare il file di filtro per aprire la soluzione per usi successivi.
- È stato aggiunto un comando per compilare tutto per i file CMake: CTRL + MAIUSC + B.
- Sono state migliorate le prestazioni di IntelliSense nei file C++ nei progetti CMake.
- È stato aggiunto un comando per caricare le dipendenze da progetti scaricati ai menu contestuali per progetti e soluzioni.
- I suggerimenti per le notifiche per migliorare le prestazioni di Visual Studio sono ora resi persistenti nel Centro prestazioni, accessibili tramite Guida per > gestire le prestazioni di Visual Studio.
- Possibilità di visualizzare lo stato di caricamento della soluzione nel centro stato attività, nonché gli avvisi al termine dell'operazione.
- Scelta dei progetti da caricare nella soluzione aperta con i file di filtro della soluzione.
- Creazione di un file di filtro della soluzione scaricando progetto da non aprire automaticamente, facendo clic con il pulsante destro del mouse la soluzione e selezionando Save As Solution Filter (Salva come filtro soluzione). È quindi possibile usare il file di filtro per aprire la soluzione per usi successivi.
- Miglioramento dell'individuazione delle risorse di compilazione e della ricerca di file quando si seleziona CTRL + T negli scenari di apertura cartella.
- Miglioramento delle prestazioni poiché l'editor di Visual Studio limita ora l'impatto dei componenti ausiliari sulle prestazioni di digitazione. In particolare, tutte le operazioni non essenziali con esecuzione prolungata durante la digitazione vengono annullate.
- È possibile configurare il comportamento di limitazione del componente ausiliario di Visual Studio tramite Strumenti > Opzioni > Editor > di testo Avanzate:
- È ora possibile disabilitare il ripristino dello stato della gerarchia del progetto dalla sessione precedente nella finestra degli strumenti di Esplora soluzioni. Questa modifica è stata implementata perché il ripristino della gerarchia del progetto dalla sessione precedente alla soluzione aperta può ritardare il caricamento della soluzione.
- Attivare o disattivare questa opzione in Strumenti > Opzioni > Progetti e soluzioni > generale.
Debug e diagnostica generali
Debug generale
- Possibilità di evidenziare e trovare parole chiave con cui spostarsi usando la nuova funzionalità di ricerca integrata nelle finestre Espressione di controllo, Auto e Variabili locali.
- Visualizzazione di un elenco a discesa di identificatori e opzioni di formattazione dei dati nelle finestre Espressione di controllo, Auto e Variabili locali tramite l'aggiunta di una virgola a un elemento presente nell'elenco.
- È ora possibile usare il supporto personalizzato e per il visualizzatore DataSet per .NET Core.
- Per le applicazioni C++ in esecuzione in Windows, i file PDB vengono ora caricati in un processo a 64 bit separato. Questa modifica risolve una vasta gamma di arresti anomali causati dalla memoria insufficiente nel debugger durante l'esecuzione del debug di applicazioni che contengono un elevato numero di moduli e di file PDB.
Punti di interruzione dei dati gestiti
È ora possibile interrompere quando il valore della proprietà di un oggetto specifico cambia nelle applicazioni .NET Core (3.0 o successive) usando punti di interruzione dei dati, una funzionalità originariamente esclusiva di C++. Si tratta di un'ottima alternativa al semplice posizionamento di un punto di interruzione sul setter di una proprietà perché un punto di interruzione dei dati può concentrarsi sulla proprietà di un oggetto specifico anche quando non rientra nell'ambito, mentre l'opzione precedente può comportare interruzioni costanti e irrilevanti se si dispone di centinaia di oggetti che chiamano tale funzione.
Aggiornamenti dell'esperienza utente di ricerca nella finestra Espressioni di controllo
L'interfaccia utente è stata aggiornata e semplificata per eseguire ricerche nelle finestre Auto, Variabili locali ed Espressioni di controllo. La funzione Aumenta profondità di ricerca è stata sostituita con un elenco a discesa per poter selezionare velocemente il livello di profondità per le ricerche iniziali e successive.
Applicare le preferenze di stile del codice
- È ora possibile applicare le preferenze di stile per il codice dalla riga di comando con lo strumento globale dotnet format. Per l'installazione, sarà necessario .NET Core 2.1 SDK o versione successiva. Eseguire il comando seguente nel terminale preferito:
dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
Estendibilità
- In Visual Studio 2019 non sarà più possibile installare le estensioni create con il formato vsixmanifest V1. La versione V1 è stata introdotta in Visual Studio 2010 ed è deprecata in Visual Studio 2017 poiché poteva causare problemi di affidabilità con Visual Studio. In Visual Studio 2019 il supporto per la versione V1 è stato completamente rimosso. Le estensioni destinate a Visual Studio 2019 devono essere ricompilate con le versioni V2 o V3 del formato vsixmanifest.
- L'utente riceverà uno notifica quando l'estensione viene caricata automaticamente in modo sincrono. Si noti che l'estensione viene caricata e funziona come di consueto in questa versione, ma potrebbe non funzionare nell'aggiornamento successivo di Visual Studio 2019. Altre informazioni sono disponibili nel post del blog sul miglioramento della velocità di risposta di scenari critici grazie all'aggiornamento del comportamento di caricamento automatico per le estensioni.
Pacchetto NuGet SDK unificato
In passato, gli autori di estensioni dovevano creare molti riferimenti separati ai singoli pacchetti NuGet di Visual Studio SDK da usare nell'estensione. Le versioni dei vari pacchetti non erano sempre allineate e spesso causavano conflitti di dipendenza in fase di compilazione, nonché problemi di runtime.
Per risolvere questi problemi, usare un nuovo pacchetto denominato Microsoft.VisualStudio.SDK che contiene dipendenze da tutti i pacchetti che compongono Visual Studio SDK. Tale pacchetto risolve il problema delle versioni non corrispondenti e consente di individuare la versione da usare. È sufficiente usare la versione del pacchetto corrispondente alla versione minima di Visual Studio supportata dall'estensione per avere accesso all'intero SDK.
Per il momento, esiste solo la versione 15.9 del pacchetto SDK, ma nei prossimi mesi ne verranno rilasciate altre fino alla versione 14.0.
Modelli di progetto nuovi e aggiornati
Il modello Progetto VSIX ha subito più aggiornamenti che lo hanno semplificato e migliorato:
- Usa il nuovo pacchetto NuGet SDK unificato
- Include una classe AsyncPackage
- Non è più necessario un file con estensione resx per compilare un pacchetto
- Ha come destinazione .NET Framework 4.7.2
È stato creato un nuovo modello di progetto VSIX vuoto identico al modello Progetto VSIX, ma senza la classe AsyncPackage. Fa anche riferimento al pacchetto NuGet SDK unificato offrendo un valido punto di partenza per le estensioni MEF e altri tipi di estensioni senza pacchetto.
Gratuita/A pagamento/Versione di valutazione
Non c'è stato un modo semplice per vedere se un'estensione è stata contrassegnata come gratuita, a pagamento o una versione di valutazione. Ora invece ogni estensione che è una versione di valutazione o a pagamento verrà contrassegnata chiaramente come tale nella finestra di dialogo Estensioni e aggiornamenti. Le estensioni che non hanno un'etichetta di valutazione/a pagamento sono gratuite.
Strumenti di test
Altre API nella finestra di test non documentate nelle versioni precedenti, ma contrassegnate come pubbliche, sono state aggiunte all'elenco degli elementi deprecati.
Controllo del codice sorgente
- Archiviazione temporanea delle modifiche in modo che sia possibile eseguire un'altra attività grazie agli strumenti Git di Team Explorer che ora supportano Git stash.
- Verifica, esecuzione e debug delle richieste pull da Azure Repos senza uscire dall'ambiente IDE usando la nuova esperienza di richiesta pull in Visual Studio 2019. Per iniziale, è ora possibile scaricare l'estensione Richieste pull per Visual Studio da Visual Studio Marketplace.
MSBuild
- La versione del set di strumenti MSBuild è stata modificata da
15.0
aCurrent
.MSBuild.exe
è ora disponibile in%VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe
. - MSBuild (e Visual Studio) ora fanno riferimento a .NET Framework 4.7.2. Se si desidera usare nuove funzionalità dell'API MSBuild, è necessario aggiornare anche l'assembly, ma il codice esistente continua a funzionare.
C#
Per ogni versione precedente a Visual Studio 2019, la versione predefinita del linguaggio C# era sempre equivalente a quella principale più recente. In Visual Studio 2017 C# si è evoluto e ha rilasciato tre versioni secondarie: 7.1, 7.2 e 7.3. Tuttavia, i nuovi progetti per impostazione predefinita usavano ancora C# 7.0. Questo fatto era motivo di frustrazione per gli sviluppatori di C# che volevano usare le nuove funzionalità, ma dovevano modificare manualmente la versione del linguaggio per ogni nuovo progetto.
Per risolvere questo problema, la versione predefinita del linguaggio C# è determinata dal relativo framework di destinazione:
- Se la destinazione è .NET Core 3.0 Preview, la versione del linguaggio C# sarà C# 8.0 Preview.
- Se la destinazione è .NET Framework o qualsiasi versione non di anteprima di .NET Core, la versione del linguaggio C# sarà C# 7.3.
Ciò consente di usare le funzionalità dell'ultima versione stabile del linguaggio C# per impostazione predefinita e, quando si usano le versioni di anteprima di .NET Core, di usare le funzionalità del linguaggio C# 8.0 Preview allineate a .NET Core 3.0 Preview.
Se si specifica con LangVersion
una versione del linguaggio in un file di progetto o di proprietà, tale versione sostituisce la versione predefinita descritta in precedenza.
C++
- Collaborazione in tempo reale ora che Visual Studio Live Share supporta C++.
- Risparmio di tempo grazie all'uso di IntelliCode, un'estensione facoltativa che usa le proprie funzioni di formazione estesa e il contesto del codice per inserire gli elementi che probabilmente si desidera usare nella parte superiore dell'elenco di completamento. Per C++, IntelliCode offre il contributo ottimale quando si usano librerie diffuse, come STL.
- Sono stati modificati diversi nomi e descrizioni dei modelli di progetto per adattarli alla finestra di dialogo Nuovo progetto aggiornata.
- Il componente sperimentale Clang/C2 è stato rimosso. Usare il set di strumenti MSVC per la conformità agli standard C++ completa con /permissive- and/or /std:c++17 oppure la toolchain Clang/LLVM per Windows. Per altri dettagli, vedere ilblog del team di Visual C++.
- L'opzione /Gm del compilatore C++ è deprecata. Provare a disabilitare l'opzione /Gm negli script di compilazione se è definita in modo esplicito. In alternativa, è possibile anche ignorare l'avviso di deprecazione per /Gm perché non verrà considerato come errore quando si usa l'opzione "Considera gli avvisi come errori" (/WX).
- Per impostazione predefinita, l'esperienza Android per C++ ora fa riferimento a Android SDK 25 e Android NDK 16b.
Produttività
- L'analisi codice viene ora eseguita automaticamente in background. Gli avvisi vengono visualizzati come linee a zigzag di colore verde all'interno dell'editor durante la digitazione.
- La barra dei modelli utilizza ora l'interfaccia utente Finestra di anteprima invece di una finestra modale, supporta modelli annidati e immette in anticipo tutti gli argomenti predefiniti in Finestra di anteprima.
- Una correzione automatica per l'avviso di analisi del codice NULL-nullptr> (C264777 USE_NULLPTR_NOT_CONSTANT) è disponibile tramite il menu lampadina sulle righe pertinenti, abilitato per impostazione predefinita nel set di regole del tipo di controllo principale C++. Altre correzioni rapide nell'IDE includono l'aggiunta di direttive #include mancanti, l'aggiunta dei punti e virgola mancanti e la correzione dell'uso non corretto di "*" rispetto a "&".
- Non vengono più generate intestazioni precompilate per app desktop e console C++ per impostazione predefinita.
- La funzionalità Vai a definizione funziona ora nelle direttive #include, aprendo il file corrispondente. È incluso il tasto di scelta rapida F12, che offre un semplice metodo per spostarsi all'interno del codice.
- Posizionando il puntatore del mouse su una parentesi graffa di chiusura di un blocco di codice, vengono visualizzate alcune informazioni utili sul contesto del blocco.
- È stato aggiunto il supporto in ConcurrencyChecker per i tipi STL ben noti dall'intestazione <mutex>.
- È disponibile un'implementazione parziale aggiornata del controllo dei profili di durata per il rilevamento di puntatori e riferimenti inesatti.
- È stato aggiunto il supporto iniziale nel compilatore per l'operatore <C++20 => ("astronave") per il confronto a tre vie.
CMake
- Sono state migliorate le prestazioni di IntelliSense per i file C++ nei progetti CMake.
- Visual Studio permette il bootstrap dello sviluppo di C++ con CMake su Linux rilevando se è presente una versione di CMake compatibile nel computer Linux. In caso contrario, propone di installarla.
- L'editor delle impostazioni di CMake offre un'alternativa a CMakeSettings.json e una certa parità con CMakeGUI.
- Il menu di CMake è stato rimosso e riorganizzato per una maggiore parità con progetti e soluzioni.
- Le impostazioni non compatibili in CMakeSettings, ad esempio le architetture non corrispondenti o le impostazioni del generatore CMake non compatibili, mostrano linee a zigzag nell'editor JSON e restituiscono errori nell'elenco degli errori.
- La toolchain vcpkg viene automaticamente rilevata e abilitata per i progetti CMake aperti nell'IDE una volta eseguito
vcpkg integrate install
. Questo comportamento può essere disattivato specificando un file di toolchain vuoto in CMakeSettings. - I progetti CMake permettono ora il debug Just My Code per impostazione predefinita.
- Gli avvisi di analisi statica possono ora essere elaborati in background e visualizzati nell'editor per i progetti CMake.
- Sono stati aggiunti messaggi "begin" ed "end" di compilazione e configurazione più chiari per i progetti CMake e il supporto per l'interfaccia utente dello stato di compilazione di Visual Studio. Inoltre, è ora disponibile un'impostazione di dettaglio CMake in Opzioni strumenti > per personalizzare il livello di dettaglio dei messaggi di compilazione e configurazione di CMake nella finestra di output.
- L'impostazione "cmakeToolchain" è ora supportata in CMakeSettings per specificare toolchain senza modificare manualmente la riga di comando di CMake.
Back-end
- Sono stati implementati alcuni miglioramenti relativi alla velocità effettiva di compilazione, tra cui la gestione da parte del linker dell'I/O dei file e della fase di collegamento durante l'unione e la creazione di tipi PDB.
- È stato aggiunto il supporto di base per la vettorializzazione SIMD di OpenMP. Questa può essere abilitata con la nuova opzione della riga di comando -openmp:experimental. Questa opzione permette la potenziale vettorializzazione dei cicli annotati con "#pragma omp simd". La vettorializzazione non è garantita e per i cicli con annotazioni ma non vettorializzati verrà restituito un avviso. Se non è supportata alcuna clausola SIMD, queste verranno semplicemente ignorate e verrà restituito un avviso.
- È stata aggiunta la nuova opzione della riga di comando -Ob3 per l'incorporamento, che è una versione più aggressiva dell'opzione -Ob2. Il comando -O2 (ottimizzazione dei dati binari per la velocità) implica comunque -Ob2 per impostazione predefinita. Se si nota che l'incorporamento del compilatore è ancora insufficiente, provare a passare il comando -O2 -Ob3.
- Per supportare la vettorializzazione manuale dei cicli che contengono chiamate a funzioni della libreria matematica e determinate altre operazioni come la divisione di interi, è stato aggiunto il supporto per funzioni intrinseche Short Vector Math Library (SVML) che calcolano gli equivalenti dei vettori a 128, 256 o 512 bit. Per le definizioni delle funzioni supportate, vedere la guida alle funzioni intrinseche Intel.
- Ottimizzazioni nuove e migliorate:
- Semplificazioni aritmetiche e a riduzione costante per le espressioni tramite funzioni intrinseche (vettoriali) SIMD per formati sia a virgola mobile sia interi
- Analisi più potente per l'estrazione di informazioni dal flusso di controllo (istruzioni if/else/switch) per rimuovere i rami sempre dimostrati come true o false
- Introduzione di memset migliorati per l'uso di istruzioni vettoriali SSE2
- Rimozione migliorata di copie di coppie struct/classe inutili, in particolare per programmi C++ con passaggio di parametri per valore
- Maggiore ottimizzazione del codice tramite memmove, ad esempio la costruzione di std::copy o di std::vector e std::string
Elementi deprecati
- Il modello di progetto di test C++ gestito non è più disponibile. È possibile continuare a usare il framework di test C++ gestito nei progetti esistenti ma, per i nuovi unit test, è consigliabile usare uno dei framework di test nativi per cui Visual Studio fornisce modelli (MSTest, Google Test) o il modello di progetto di test C# gestito.
- Windows 8.1 SDK non è più disponibile nel programma di installazione di Visual Studio. Aggiornare i progetti C++ alla versione più recente di Windows 10 SDK. Se esiste una dipendenza rigida dalla versione 8.1, è possibile scaricare l'SDK dall'archivio di Windows SDK.
- Windows XP non sarà più disponibile come destinazione per il set di strumenti C++ più recente. Windows XP come destinazione con le librerie e il compilatore MSVC a livello di Visual Studio 2017 è ancora supportato e l'SDK può essere installato tramite "Singoli componenti".
- La documentazione sconsiglia fortemente l'uso di moduli di unione per la distribuzione del runtime di Visual C++. In questa versione è stata intrapreso il passaggio aggiuntivo di contrassegnare i moduli di unione (MSM) come deprecati. Provare a eseguire la migrazione della distribuzione centrale di VCRuntime da moduli di unione al pacchetto ridistribuibile.
- Le procedure guidate ATL/MFC C++ seguenti non sono più disponibili: Creazione guidata componente ATL COM+ 1.0, Creazione guidata componente ATL Active Server, Creazione guidata provider OLE DB ATL, Creazione guidata pagina proprietà ATL, Creazione guidata consumer OLE DB ATL, Consumer ODBC MFC, classe MFC dal controllo ActiveX e classe MFC da Type Lib. Il codice di esempio per queste tecnologie è archiviato nel repository GitHub VCSamples.
F#
I miglioramenti di F# in Visual Studio 2019 riguardano tre aree principali:
- F# 4.6
- Miglioramenti significativi delle prestazioni per le soluzioni di medie o grandi dimensioni
- Una grande quantità di lavoro open source svolto dalla nostra eccellente community
F# 4.6
Questa versione contiene il linguaggio F# 4.6:
- Sono stati aggiunti al linguaggio tipi di record anonimi, inclusi il supporto completo di strumenti e la possibilità di generare i tipi in oggetti JavaScript usando il compilatore Fable.
- Tipo ValueOption e parità della funzione di modulo ValueOption con il tipo Option.
- Funzione tryExactlyOne per matrici, elenchi e sequenze, aggiunta con il contributo di Grzegorz Dziadkiewicz.
Miglioramenti del compilatore F# e di FSharp.Core
Sono stati apportati numero si miglioramenti al compilatore F# e a FSharp.Core, soprattutto da collaboratori open source:
- fsi.exe and fsc.exe now defaults to .NET Framework 4.7.2, allowing the loading of components targeting this framework or lower (#4946).
- Sono stati ottimizzati i metodi sui dati struct e i record di dati struct da eseguire, nonché metodi sulle classi e i record basati su classi (#3057).
- È stato ottimizzato il linguaggio IL generato per la logica booleana combinato nel codice F# (#635).
- È stato ottimizzato l'uso di
+
con stringhe in F# per chiamare la quantità minima possibile di chiamateString.Concat
(n. 5560). - È stato risolto un problema del pacchetto FSharp.Core, per cui venivano incluse alcune directory aggiuntive con asset di test. FSharp.Core 4.5.5 e 4.6.1 dovrebbero contenere la correzione (#5814).
- Quando un attributo definito dall'utente non eredita dalla classe
Attribute
, viene visualizzato un avviso, di Vasily Kirichenko. - Il valore
AssemblyInformationVersionAttribute
in un file di progetto ora supporta valori arbitrari per essere in grado di usare scenari come SourceLink (#4822). - È stato risolto un bug per cui la sintassi non valida con i modelli attivi provocherebbe un errore interno del compilatore; soluzione implementata da Steffen Forkmann (#5745).
- Un bug per cui il suffisso
Module
è stato aggiunto erroneamente a un modulo in un modulo ricorsiva per corrispondere a un tipo in cui l'unica differenza è un parametro generico è stato risolto da BooksBaum (#5794). - Un miglioramento al messaggio di errore quando i parametri di tipo non sono adiacenti a un nome del tipo è stato apportato da Alan Ball (#4183).
- Il suffisso letterale
uint16
è elencato in modo corretto nei messaggi di errore per valori letterali numerici non validi; soluzione implementata da Teo Tsirpanis (#5712). - I messaggi di errore per le espressioni di calcolo non mostrano più
async
nel messaggio e fanno riferimento invece a "espressione/espressioni di calcolo"; soluzione implementata da John Wostenberg (#5343). - Un messaggio di errore che fa riferimento a file
.dll
in modo non corretto in codice F# interattivo è stato risolto da Bartoz Sypytkowski (#5416). - Un bug per cui i parametri di tipo risolti statisticamente non sono in grado di gestire la chiamata di un metodo che nasconde un membro ereditato è stato corretto da Victor Peter Rouven Müller (n. 5531).
- Vari miglioramenti minori delle prestazioni del compilatore sono stati aggiunti da Steffen Forkmann e Robert Jeppesen.
Miglioramenti delle prestazioni di F#
Un'altra importante area di interesse per F# in Visual Studio 2019 è quella delle prestazioni per le soluzioni di medie e grandi dimensioni. Sono stati risolti alcuni problemi presenti da molto tempo, alcuni dei quali risalgono alla primissima edizione degli strumenti di F# per Visual Studio. Un contributo è stato offerto dall'eccellente community open source di F#.
- È stata migliorata l'inizializzazione del servizio di linguaggio F# da parte di Roslyn. La colorazione dei tipi per le soluzioni di dimensioni maggiori appare in genere più rapidamente.
- Modificata la rappresentazione del testo di origine per evitare grandi allocazioni nel corso del tempo, soprattutto con i file di dimensioni maggiori (n. 5935, n. 5936, n. 5937, n. 4881).
- Modificate le cache di compilazione per le piccole modifiche ai file per usare una quantità di memoria notevolmente ridotta (n. 6028).
- Modificata una funzione del compilatore che suggerisce i nomi quando vengono digitati token non per calcolare questi suggerimenti solo su richiesta, determinando una notevole riduzione di CPU e memoria quando si digita lentamente nelle soluzioni di dimensioni maggiori (6044 #).
- IntelliSense è stato modificato in modo che non visualizzi più simboli degli spazi dei nomi non aperti per impostazione predefinita. Questo migliora notevolmente le prestazioni di IntelliSense nei progetti con molti riferimenti. Questa funzionalità può essere riattivata nelle impostazioni tramite Strumenti > Opzioni > Editor > di testo F# > IntelliSense.
- È stato migliorato l'uso della memoria quando si usano provider di tipi per generare grandi quantità di tipi in un elenco di completamento (#5599).
- Una riduzione dell'utilizzo della CPU e della memoria in un algoritmo interno di confronto tra le stringhe per suggerire i nomi non riconosciuti è stata risolta da Avi Avni (#6050).
- Un notevole problema che causa allocazioni di stringhe di grandi dimensioni, in particolare per gli strumenti dell'IDE, è stato risolto da Avi Avni (n. 5922).
- Un importante problema che causa allocazioni heap di oggetti grandi provenienti dall'elaborazione in IntelliSense è stato risolto da Chet Husk (#6084)
Miglioramenti degli strumenti di F#
Oltre ai miglioramenti delle prestazioni, sono stati apportati diversi altri miglioramenti agli strumenti di F# per Visual Studio 2019:
- La correzione del codice dell'istruzione
open
aggiunta fa riferimento all'inserimento dell'istruzioneopen
nella parte superiore del file. - È stato corretto un bug per cui l'elemento
match!
nel codice utente invalidava le linee guida della struttura e i nodi della struttura del codice per gli ambiti successivi (#5456). - L'editor colora correttamente i valori
byref
,outref
eref
come campi di record in base alla colorazione dei valori variabile (#5579). - È stato corretto un bug per cui il refactoring di ridenominazione non riconosceva il carattere
'
nei nomi dei simboli (#5604). - È stato risolto un bug esistente da tempo per cui la ridenominazione di file di script F# produce la perdita dei dati di colorazione (n. 1944).
- IntelliSense è stato perfezionato in modo da non visualizzare gli elementi non correlati nell'elenco quando si preme BACKSPACE.
- Con il rientro intelligente, il codice F# incollato nell'editor viene formattato per corrispondere a un ambito appropriato in base alla posizione corrente del cursore; soluzione implementata da Saul Rennison (#4702).
- È stato risolto un problema per cui le opzioni dell'editor F# non vengono sincronizzate è stato risolto da Jakob Majocha (n. 5997, n. 5998).
- Un bug per cui IntelliSense in un costruttore all'interno di una clausola
inherit
non visualizza il costruttore principale è stato corretto da Eugene Auduchinok (#3699) - Vari miglioramenti minori del servizio di linguaggio F# sono stati apportati da Eugene Auduchinok
Infrastruttura open source di F#
È stata eseguita una migrazione completa della codebase di F# e degli strumenti di F# per usare .NET SDK. Questo semplifica notevolmente l'apporto dei contributi da parte degli sviluppatori, soprattutto se non usano Windows. Inoltre Jakob Majocha ha contribuito alla pulizia dei documenti per i nuovi collaboratori in previsione delle modifiche della codebase.
Python
In base ai suggerimenti dei clienti, Visual Studio 2019 include un'esperienza di revisione per la gestione di ambienti Python.
- È stato aggiunta una nuova finestra di dialogo Aggiungi ambiente che semplifica l'esperienza di creazione e di aggiunta di ambienti virtuali e di ambienti conda nel progetto.
- Il programma di installazione di Visual Studio non installa più versioni complete di Anaconda per ridurre le dimensioni di installazioni di Visual Studio ed evitare errori durante gli aggiornamenti.
- Miniconda è integrato nel carico di lavoro di Python come componente opzionale, per creare ambienti conda senza dover installare Miniconda/Anaconda.
- Ora viene automaticamente richiesto di aggiungere un ambiente se un file Rrquirements.txt (ambiente virtuale) o environment.yml (ambiente conda) è presente nella radice del progetto.
- Una nuova barra degli strumenti per gli ambienti Python è disponibile quando si modificano file Python. La nuova barra degli strumenti permette di passare tra diversi interpreti Python quando si usano progetti, aree di lavoro Apri cartella o file Python separati in altri progetti.
- Miglioramenti della qualità del completamento automatico in Python IntelliSense, tra cui il rilevamento ottimizzato delle importazioni relative e degli spazi dei nomi.
- I modelli di progetto Django sono stati aggiornati per supportare Django 2.x.
- I valori restituiti delle funzioni vengono ora visualizzati nel debugger di Python.
- Ora è possibile creare sessioni di Visual Studio Live Share e collaborare al codice Python con altri utenti di Visual Studio. In precedenza Python era supportato solo quando si partecipava a sessioni create da Visual Studio Code.
JavaScript/TypeScript
- È stato aggiunto il supporto per l'abilitazione del debug di JavaScript all'interno di unit test in progetti Node.js. Si tratta di una funzionalità a lungo richiesta dai clienti che usano Node.js.
- Il servizio di linguaggio JavaScript/TypeScript verrà caricato automaticamente nei progetti in cui è installato il pacchetto NuGet TypeScript o il pacchetto npm (TypeScript 3.2 e versioni successive sono supportati dal pacchetto NuGet e TypeScript 2.1 e versioni successive sono supportati dal pacchetto npm).
- Sono stati implementati alcuni miglioramenti per le prestazioni nel servizio di linguaggio come conseguenza dell'aumento del limite di memoria nel servizio per la gestione di progetti di grandi dimensioni.
- Per impostazione predefinita, negli elenchi degli errori non vengono più visualizzate le statistiche dei file JavaScript/TypeScript chiusi.
- Il servizio di linguaggio JavaScript legacy non è più disponibile. In precedenza gli utenti avevano la possibilità di ripristinare il servizio di linguaggio JavaScript legacy. Il servizio di linguaggio JavaScript è ora disponibile per impostazione predefinita. Il nuovo servizio di linguaggio si basa sul servizio di linguaggio TypeScript, supportato dall'analisi statica. Ciò consente di usare meglio gli strumenti, in modo che il codice JavaScript possa trarre vantaggio da un'esecuzione di IntelliSense più completa in base alle definizioni di tipo. Il nuovo servizio è leggero e usa meno memoria rispetto al servizio legacy, offrendo agli utenti prestazioni migliori a seconda delle dimensioni del codice.
Team Explorer e Azure DevOps
Sono stati apportati miglioramenti all'esperienza di gestione degli elementi di lavoro Git con Azure DevOps.
- È possibile assegnare elementi di lavoro a se stessi o ad altri utenti con il nuovo controllo di selezione identità. Per impostazione predefinita, verrà visualizzato un elenco delle persone selezionate più di recente. In alternativa, è possibile usare la funzionalità di ricerca per cercare e trovare altre persone nell'organizzazione.
- È stata migliorata l'esperienza con elementi #mention nel messaggio di commit. Quando si seleziona un elemento di lavoro dal controllo di selezione di #mention, questo verrà automaticamente aggiunto all'elenco di elementi di lavoro correlati.
Evidenziazione dei percorsi ad accesso frequente
- È stato aggiunto il supporto per l'evidenziazione del percorso critico negli strumenti Utilizzo CPU e DotNet Object Allocation (Allocazione di oggetti .NET) nel profiler delle prestazioni. Selezionare qualsiasi funzione nell'albero delle chiamate e fare clic sul pulsante Percorso critico per espandere il percorso critico di Utilizzo CPU o DotNet Object Allocation (Allocazione di oggetti .NET). Questa funzionalità permette di identificare facilmente le chiamate di funzioni che usano la percentuale di CPU più alta o che allocano il maggior numero di oggetti.
Strumenti .NET e ASP.NET
- Sono stati implementati diversi piccoli miglioramenti per l'esperienza utente nella pagina di riepilogo del profilo di pubblicazione (nuove intestazioni delle sezioni e azioni/tasti di scelta rapida) per tutte le applicazioni.
- Quando si pubblicano applicazioni ASP.NET in Servizio app di Azure, la pagina di riepilogo del profilo di pubblicazione include ora una nuova sezione denominata "Dipendenze". Questa nuova sezione permette attualmente di associare risorse di Archiviazione di Azure e SQL di Azure all'istanza del servizio app. In futuro altri servizi di Azure verranno inclusi come disponibili tramite questo meccanismo.
- Uso di metrica del codice con progetti .NET Core grazie alla compatibilità aggiunta.
- Esportare le impostazioni dell'editor in un file Editorconfig tramite Strumenti > Opzioni > Editor > di testo Stile codice C# > con il pulsante "Genera file con estensione editorconfig dalle impostazioni".
- Nuovo supporto del parser per Regex di C# e di Visual Basic. Le espressioni regolari sono ora riconosciute e le funzionalità del linguaggio sono abilitate per usarle. Una stringa regex viene riconosciuta sia quando viene passata al costruttore regex sia quando è immediatamente preceduta da un commento che contiene la stringa
language=regex
. Le funzionalità del linguaggio incluse in questa versione sono classificazione, corrispondenza tra le parentesi graffe, riferimenti di evidenziazione e diagnostica.
- È ora possibile analizzare il codice non utilizzato per membri privati non usati con una correzione del codice facoltativa per rimuovere la dichiarazione di membri non usati.
- La funzionalità Trova riferimenti in una funzione di accesso ora restituisce solo i risultati per tale funzione.
- È stata aggiunta una correzione del codice per la generazione di un metodo di decostruzione.
- Le istruzioni "using" possono essere aggiunte quando il codice viene incollato in un file. Una correzione del codice viene visualizzata dopo che il codice riconosciuto è stato incollato, quando viene chiesto di aggiungere le importazioni mancanti rilevanti.
- Sono ora disponibili altre azioni di refactoring e rapide usando "CTRL + ". o "ALT + INVIO":
- Per i casi in cui l'opzione "await" è implicita, ma omessa, è ora presente un avviso del compilatore.
- Per la conversione di una funzione locale in un metodo.
- Per la conversione di una tupla in un tipo di dati struct denominato.
- Per la conversione di un tipo anonimo in una classe.
- Per la conversione di tipo anonimo un una tupla.
- Per un ciclo foreach verso query o metodi LINQ.
- È stato aggiunto il supporto per le applicazioni ASP .NET Core in esecuzione in un servizio Azure Kubernetes. Per iniziare, vedere questo esempio di docker in GitHub.
- ASP.NET è ora supportato nello strumento di utilizzo della CPU del Profiler prestazioni.
- È ora possibile usare l'opzione Trova tutti i riferimenti (MAIUSC-F12) e CodeLens per visualizzare i risultati dai file Razor (con estensione cshtml) nei progetti .NET Core. È quindi possibile accedere al codice identificato nei file Razor pertinenti.
- È stato aggiunto il supporto fare riferimento ad applicazioni ASP.NET (di base e desktop) in esecuzione in macchine virtuali Windows e in set di scalabilità di macchine virtuali.
- Viene ora visualizzato un avviso durante l'esecuzione di analisi del codice tramite FxCop. Per eseguire l'analisi del codice in futuro, è consigliabile usare i compilatori .NET. Per altre informazioni, leggere l'articolo sulla migrazione agli analizzatori della piattaforma del compilatore .NET.
- I modelli di progetto della libreria di classi portabile (PCL) non sono più disponibili e il supporto per il progetto non viene più installato per impostazione predefinita. I nuovi progetti destinati a fare riferimento a più piattaforme devono usare il tipo di progetto .NET Standard. I clienti che hanno bisogno del supporto per i progetti della libreria di classi portabile devono installare il componente separatamente nella scheda Singoli componenti del programma di installazione di Visual Studio.
- Il comando "Project.CopyWebSite" non è più disponibile. Questa funzionalità era disponibile solo nel tipo di progetto "Sito Web" per .NET e offriva la possibilità di sincronizzare due siti Web in modo che disponessero della stessa versione di ogni file. In Visual Studio 2019 è possibile copiare i file dalla destinazione remota all'esterno di Visual Studio e quindi aprire il progetto.
- La possibilità di aprire un progetto di tipo Sito Web da un percorso FTP remoto è stata rimossa. Gli utenti FTP possono copiare i file dalla destinazione remota all'esterno di Visual Studio, aprire il progetto, apportare modifiche e quindi usare la funzione di pubblicazione per inserirli nuovamente nel percorso FTP remoto.
- Il carico di lavoro ASP.NET e Web non installa più un'esperienza di modifica CoffeeScript. Le aggregazioni TextMate di Visual Studio offrono un'esperienza di livello superiore per usare CoffeeScript.
- Gli errori CSS e CoffeeScript generati attualmente dalle copie incorporate di CSSLint e CoffeeLint non emergono più automaticamente quando si modificano questi file. Per eseguire i linter, usare un metodo alternativo, ad esempio npm o Esplora esecuzione attività di Visual Studio.
- In Visual Studio non è più disponibile IntelliSense per gli attributi HTML Knockout. In Visual Studio 2019 è necessario digitare gli attributi.
- La possibilità di usare il debugger Chrome legacy nei progetti ASP.NET per eseguire il debug di JavaScript è stata rimossa. È possibile continuare a usare il debugger di Chrome corrente incorporato in Visual Studio.
- La possibilità di usare la funzionalità Console JavaScript nei progetti ASP.NET è stata rimossa. È consigliabile che i clienti usino la funzionalità Console inclusa negli strumenti di sviluppo del browser di preferenza.
Strumenti per contenitori
- È stata aggiunta un'esperienza semplificata a progetto singolo per la creazione di contenitori e il debug:
- Applicazioni Web ASP.NET (.NET Framework)
- Applicazioni console (.NET Core)
- È stato aggiunto il supporto per il debug di applicazioni ASP.NET Core che usano Alpine come immagine di base.
- È stato aggiunto il supporto per le immagini .NET Core e ASP.NET più recenti.
Strumenti di .NET Core
.NET Core 3.0
Con questa versione è possibile creare progetti ASP.NET Core, di console e di libreria di classi destinati a .NET Core 3.0 se è stato installato l'SDK di anteprima.
Se si usa Visual Studio RC, è necessario passare anche a Strumenti > Opzioni > progetti e soluzioni > .NET Core e selezionare la casella di controllo Usa anteprime degli SDK .NET Core. Se si usa Visual Studio Preview, non è necessario eseguire questa operazione. Altre informazioni su questa impostazione e il relativo comportamento sono disponibili in .NET Core tooling update for Visual Studio 2017 version 15.9 (Aggiornamento degli strumenti .NET Core per Visual Studio 2017 versione 15.9).
È anche possibile creare progetti Windows Form o WPF per .NET Core 3.0 con il comando "dotnet new". Questi progetti possono quindi essere aperti in Visual Studio 2019.
Nuove funzionalità
A partire da questa versione, i file di progetto per progetti in stile .NET SDK sono un tipo di file di prima classe in Visual Studio. Sono ora supportate le operazioni seguenti:
- Doppio clic su un nodo del progetto per aprire il file di progetto
- Singolo clic sul nodo del progetto per aprire il file di progetto in una scheda di anteprima
- Ricerca di un file di progetto per nome con Vai a tutti (
ctrl + T
) - Ricerca di elementi di MSBuild in un file di progetto con la funzionalità Cerca nei file
- Apertura dall'elenco degli errori se viene generato un errore di creazione di progetti
Inoltre, i progetti in stile .NET SDK usano ora la nuova console integrata per F5
e ctrl + F5
nelle app console. In questo modo, si ottiene un'esperienza unificata per l'avvio di applicazioni console da Visual Studio:
- Per
F5
, la finestra della console non viene automaticamente chiusa al termine dell'esecuzione dell'app. Non è più necessario aggiungere chiamateConsole.Read()
alle app console. - Per
ctrl + F5
, la finestra della console viene riutilizzata nelle esecuzioni successive dell'app. Non è più necessario chiudere i caricamenti delle finestre della console.
La nuova finestra della console può essere chiusa automaticamente premendo un tasto quando è aperta o selezionando l'opzione in Opzioni > strumenti > Chiudere automaticamente la console quando si arresta il debug.
Supporto per le espressioni di licenza e i file di licenza aggiunto alle pagine delle proprietà del progetto. Ciò è conforme alle modifiche per impostare licenseUrl
come deprecato in NuGet.
Miglioramenti delle prestazioni
- La scalabilità delle soluzioni di grandi dimensioni è stata notevolmente migliorata, consentendo l'uso di soluzioni .NET Core molto più grandi rispetto a prima.
- I tempi di caricamento delle soluzioni per i progetti di grandi dimensioni sono stati ridotti in modo significativo, così come l'utilizzo della CPU e della memoria durante il caricamento.
Parità delle funzionalità con i progetti non .NET Core
- Un problema di lunga durata per cui le modifiche alla configurazione non venivano rispettate in fase di progettazione, forzando un nuovo caricamento del progetto, è stato risolto.
- Possibilità di accedere alla definizione da Razor a C# nei progetti ASP.NET Core.
- Disponibilità del supporto per gli elementi AvailableItemName.
- Supporto per l'annidamento automatico dei file dipendenti che vengono aggiunti al progetto usando criteri GLOB.
- Supporto per XamlAppDef aggiunto da William Kent.
È possibile trovare un elenco completo dei problemi e delle richieste pull nelle attività cardine di 16.0, 16.0 Preview 2, 16.0 Preview 3 e 16.0 Preview 4.
Produttività .NET
Nuovi refactoring e correzioni del codice .NET:
- Spazio dei nomi di sincronizzazione e nome della cartella
- Refactoring per il pull di membri con opzioni della finestra di dialogo
- Wrapping/rientro/allineamento di elenchi di parametri/argomenti
- Conversione di tipi anonimi in tupla
- Uso del corpo dell'espressione e/o del blocco per espressioni lambda
- Inversione di espressioni condizionali e operazioni logiche
- Chiusura automatica del commento del blocco in corrispondenza di "/"
- Conversione in assegnazione composta
- Correzione del problema per cui le variabili tipizzate in modo implicito non possono essere costanti
- Correzione automatica per sostituire
@$"
con$@"
durante la digitazione di una stringa verbatim interpolata - Completamento per
#nullable enable|disable
- Correzione per valori e parametri di espressione inutilizzati
- Correzione per consentire a Estrai interfaccia di restare nello stesso file
Classificazione di riferimenti in base a lettura/scrittura.
Aggiunta dell'opzione when_multiline di Editorconfig per csharp_prefer_braces.
Sono disponibili nuovi colori di classificazione in .NET Compiler Platform SDK (noto anche come Roslyn). I nuovi colori predefiniti, simili ai colori di Visual Studio Code, vengono implementati gradualmente. È possibile modificare questi colori in Strumenti > Opzioni > Carattere e colori dell'ambiente > o disattivarli in Funzionalità di anteprima ambiente > deselezionando la casella di controllo Usa colori avanzati. Microsoft invita gli utenti a inviare commenti e suggerimenti sull'impatto di questa modifica sul flusso di lavoro.
Debug JavaScript nei progetti ASP.NET
- Se è stato aggiunto un nuovo browser Google Chrome con argomenti personalizzati tramite il menu "Esplora con..." per il progetto ASP.NET, Visual Studio abilita ora il debug di JavaScript per l'applicazione all'avvio del debug. Gli argomenti di avvio personalizzati per Google Chrome verranno applicati all'avvio di Chrome.
strumenti ASP.NET e Funzioni di Azure
- Visual Studio 2019 include una nuova esperienza per la creazione di nuovi progetti. In particolare quando si creano nuovi progetti ASP.NET, Visual Studio offre finestre di dialogo aggiuntive che presentano scelte specifiche di ASP.NET. Queste finestre di dialogo sono state aggiornate in modo da rispecchiare lo stile di visualizzazione del resto dell'esperienza.
- Per il momento, le credenziali di pubblicazione in Visual Studio vengono crittografate e archiviate nel file utente del profilo di pubblicazione e non è quindi necessario immetterle nuovamente ogni volta che si pubblica l'applicazione. I file utente in genere sono esclusi dal controllo del codice sorgente per impostazione predefinita perché è probabile che contengano informazioni segrete e/o personali che non devono essere condivise. Finora, se nel controllo del codice sorgente veniva archiviato un profilo di pubblicazione per un progetto di Funzioni di Azure, ma non il file utente, le credenziali di pubblicazione non erano presenti e il profilo di pubblicazione non poteva essere riutilizzato. Ora è consentito modificare le credenziali e creare un nuovo file utente per poter riutilizzare il profilo di pubblicazione.
Creazione guidata sessione di prestazioni
In Visual Studio 2019 le esperienze di profilatura disponibili nella Creazione guidata sessione di prestazioni sono state spostate nel Profiler prestazioni. È possibile trovare lo strumento di utilizzo della CPU per il campionamento e la strumentazione nello strumento relativo nel Profiler prestazioni. Con questa modifica la Creazione guidata sessione di prestazioni non è più necessaria e pertanto è stata rimossa da Visual Studio 2019. L'opzione di campionamento negli strumenti da riga di comando delle prestazioni di Visual Studio è stata rimossa e uno strumento da riga di comando sostitutivo verrà rilasciato in un'anteprima imminente.
Strumenti di test
- È ora possibile fare clic con il pulsante destro del mouse su test, classi di test o progetti di test in Esplora soluzioni per eseguire i test o eseguirne il debug.
- Le esecuzioni dei test rilevano ora automaticamente l'architettura del processore impostata nelle proprietà del progetto.
- Gli strumenti di test dell'interfaccia utente OSS, ad esempio Selenium e Appium, si sono sviluppati e dispongono di un forte supporto della community. Poiché tali framework sono diventati standard del settore, il test codificato dell'interfaccia utente per le operazioni di test funzionali e automatizzate basate sull'interfaccia utente è deprecato. Visual Studio 2019 rappresenterà l'ultima versione di Visual Studio con le funzionalità di test dell'interfaccia utente codificato. È consigliabile usare Selenium per eseguire il test delle applicazioni Web e Appium con WinAppDriver per eseguire il test delle app desktop e UWP.
- Visual Studio 2019 sarà l'ultima versione di Visual Studio con le funzionalità di test di carico. Per i clienti che hanno bisogno di strumenti di test di carico, è consigliabile usare strumenti alternativi, ad esempio Apache JMeter, Akamai CloudTest e Blazemeter.
- In Visual Studio 2019 alcune API delle finestre di test contrassegnate in precedenza come pubbliche, ma mai documentate ufficialmente, sono state rimosse. Tali API sono state contrassegnate come deprecate in Visual Studio 2017 per comunicare in anticipo un avviso ai gestori delle estensioni. In base alla nostra conoscenza, solo poche estensioni dipendono da tali API, che includono IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken e SearchFilterTokenType. Se questa modifica interessa un'estensione in uso, comunicare il problema alla community degli sviluppatori.
Visual Studio Tools per Kubernetes
Visual Studio Tools per Kubernetes, in precedenza disponibile come estensione separata per Visual Studio 2017, è ora integrato nel carico di lavoro di sviluppo di Azure in Visual Studio 2019.
Aggiunta del supporto per Kubernetes in un nuovo progetto
Per aggiungere il supporto per Kubernetes in un nuovo progetto, aprire Visual Studio e selezionare l'opzione Crea un nuovo progetto. Nella finestra Crea un nuovo progetto cercare Kubernetes e selezionare il modello di progetto Container Application for Kubernetes (Applicazione contenitore per Kubernetes).
Fare clic su Avanti e immettere nome del progetto, percorso e nome della soluzione. Scegliere quindi Crea. Selezionare il modello di applicazione ASP.NET Core che si vuole usare per il progetto e fare clic su OK. Visual Studio creerà automaticamente un documento Dockerfile e un grafico Helm che è possibile usare per compilare e distribuire la nuova applicazione in un cluster Kubernetes. È possibile modificare questi elementi in base alle esigenze.
Aggiunta del supporto per Kubernetes in un progetto esistente
È anche possibile aggiungere il supporto per Kubernetes in un'applicazione ASP.NET Core esistente. A questo scopo, aprire il progetto in Visual Studio 2019. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto, scegliere Aggiungi e quindi fare clic su Container Orchestrator Support (Supporto per agente di orchestrazione).
Nella finestra di dialogo Add Container Orchestrator Support (Aggiungi supporto per agente di orchestrazione) scegliere Kubernetes/Helm e fare clic su OK. Visual Studio creerà automaticamente un documento Dockerfile e un grafico Helm (in una cartella denominata charts) che è possibile usare per compilare e distribuire l'applicazione in un cluster Kubernetes. Se uno o entrambi questi elementi sono già presenti, non verranno sovrascritti. È possibile modificare questi elementi in base alle esigenze.
Creazione di un endpoint accessibile pubblicamente
Quando si aggiunge il supporto per Kubernetes in un progetto nuovo o esistente, Visual Studio chiede se si vuole creare un endpoint accessibile pubblicamente per l'applicazione.
Se si fa clic su Sì, Visual Studio configura il grafico Helm per l'applicazione per creare un oggetto di ingresso di Kubernetes quando l'applicazione viene distribuita in un cluster Kubernetes. È possibile modificare questa opzione in qualsiasi momento modificando il grafico Helm.
Debug dell'applicazione nel servizio Azure Kubernetes
Dopo avere aggiunto il supporto per Kubernetes in un progetto nuovo o esistente, è possibile compilare, eseguire e sottoporre a debug l'applicazione in tutta semplicità in un cluster del servizio Azure Kubernetes live usando una funzionalità denominata Azure Dev Spaces. Questa funzionalità è utile per testare il progetto nel contesto di un effettivo cluster Kubernetes o per il debug di un servizio che fa parte di un'applicazione molto più grande senza dover replicare l'intera applicazione in locale. Azure Dev Spaces include anche una funzionalità che permette al team di sviluppo di condividere un cluster del servizio Azure Kubernetes. Per altre informazioni su Azure Dev Spaces, vedere la documentazione di Azure Dev Spaces. Per iniziare, assicurarsi che Azure Dev Spaces sia selezionato come destinazione di avvio del debug in Visual Studio.
Prima di avviare il progetto in Azure Dev Spaces per la prima volta, configurare la sottoscrizione di Azure e il cluster del servizio Azure Kubernetes da usare. Inoltre, selezionare lo spazio in cui si vuole eseguire il progetto.
In genere, il team esegue la versione stabile più recente dell'intera applicazione nello spazio predefinito. Si esegue quindi la versione del servizio usata in uno spazio figlio dello spazio predefinito. Ora non è più necessario eseguire gli altri servizi nello spazio figlio: Azure Dev Spaces indirizza automaticamente le chiamate dal servizio alle versioni stabili dei servizi in esecuzione nello spazio predefinito. Per altre informazioni su come eseguire questa configurazione, vedere le esercitazioni di sviluppo per i team nella documentazione di Azure Dev Spaces. Dopo aver selezionato la sottoscrizione, il cluster e lo spazio corretti, fare clic su OK per procedere con la configurazione di Azure Dev Spaces. Se si seleziona un cluster cui non è già associato un controller Azure Dev Spaces, fare clic su OK nella finestra di dialogo successiva per crearne uno automaticamente.
Per la creazione del controller sono necessari circa 2 minuti. È possibile fare clic sul pulsante Attività in background nell'angolo inferiore sinistro della finestra di Visual Studio per visualizzare lo stato.
Quando il controller Azure Dev Spaces è pronto per l'uso, premere F5 oppure fare clic sul pulsante di debug di Azure Dev Spaces sulla barra degli strumenti per eseguire il debug del progetto nel servizio Azure Kubernetes.
Azure Dev Spaces sincronizzerà il codice con Azure, compilerà un'immagine del contenitore che include il codice e la distribuirà nel cluster del servizio Azure Kubernetes tramite il grafico Helm definito nel progetto. Visual Studio aprirà una connessione di debug remota al servizio in esecuzione nel cluster in modo da consentire l'interazione proprio come quando si esegue il debug di un servizio in esecuzione in locale.
Sviluppo di app per dispositivi mobili Xamarin
Questa versione include miglioramenti per le dimensioni del carico di lavoro e le prestazioni della compilazione e l'affidabilità di Android, nonché miglioramenti per la produttività di Xamarin.Android e Xamarin.Forms.
- Il carico di lavoro di Xamarin è ora di 7,69GB, con una riduzione di due volte rispetto a Visual Studio 2017 versione 15.9 e un miglioramento di 3 volte rispetto alla versione 15.7.
- L'estensione IntelliCode ora supporta codice XAML di Xamarin.Forms.
File > Nuovo progetto
Sono stati apportati alcuni miglioramenti per le prestazioni destinati a ridurre il tempo impiegato per creare un nuovo progetto Xamarin, in modo da accelerare l'avvio della compilazione delle app. Sono ora inclusi anche i pacchetti NuGet usati dai modelli come parte dell'installazione del carico di lavoro per ridurre i tempi di ripristino dei pacchetti, in particolare in situazioni offline o con larghezza di banda ridotta. In alcuni casi, questi miglioramenti riducono quasi del 50% il tempo necessario per caricare e ripristinare completamente un nuovo progetto Xamarin.
Indicatore di stato della compilazione
È ora possibile visualizzare informazioni più dettagliate sullo stato di compilazione durante la compilazione dei progetti. Facendo clic sull'icona Attività in background nell'angolo inferiore sinistro durante una compilazione, verrà visualizzata la destinazione di compilazione corrente in esecuzione. Questo può essere utile per determinare se la compilazione è ancora in esecuzione, ma il completamento di una destinazione sta impiegando molto tempo.
Modalità di anteprima basic di Xamarin.Forms Previewer
Non è più necessario compilare il progetto per il visualizzatore anteprima XAML di Xamarin.Forms per vedere un'anteprima del codice. Se l'utente usa controlli personalizzati nel file XAML, può essere necessario compilare il progetto per visualizzarli in anteprima oppure acconsentire esplicitamente al rendering degli stessi in fase di progettazione.
Elenco a discesa del dispositivo anteprima Xamarin.Forms
È ora possibile alternare l'uso di diversi dispositivi Android e iOS per visualizzare in anteprima il codice XAML di Xamarin.Forms usando il nuovo menu a discesa dei dispositivi.
Pannello delle proprietà di Xamarin.Forms
È ora possibile modificare gli attributi più comuni dei controlli, delle celle e dei layout Xamarin.Forms in un pannello delle proprietà e visualizzare le modifiche immediatamente applicate al codice XAML.
Modello della shell Xamarin.Forms
Sono stati aggiornati i modelli Xamarin.Forms in modo da usare la versione di Xamarin.Forms più recente ed è stata aggiunta anche una nuova opzione di modello per un'app Xamarin.Forms Shell. La shell mira a ridurre la complessità delle app migliorando la produttività degli sviluppatori e concentrandosi sulla velocità di rendering e sul consumo di memoria. Questo modello offre un'app shell con bootstrap per Android e iOS.
Prestazioni e affidabilità di Android Build
In Visual Studio 2017 versione 15.9 e in Visual Studio per Mac 7.7 sono stati apportato miglioramenti alle prestazioni e alla correttezza della compilazione iniziale. In Visual Studio 2019 e Visual Studio per Mac 7.8 la compilazione e la distribuzione sono ancora più veloci.
- È ora possibile usare gli strumenti di Android di nuova generazione. Per abilitare questa funzionalità, aggiungere un flag MSBuild nel progetto
.csproj
:- aapt2 divide i pacchetti Android in due passaggi: Compila e Collega. In questo modo vengono migliorate le prestazioni per le compilazioni incrementali e vengono segnalati tempestivamente gli errori. Se ad esempio sono presenti modifiche in un singolo file, è sufficiente ricompilare tale file.
<AndroidUseAapt2>True</AndroidUseAapt2>
- aapt2 divide i pacchetti Android in due passaggi: Compila e Collega. In questo modo vengono migliorate le prestazioni per le compilazioni incrementali e vengono segnalati tempestivamente gli errori. Se ad esempio sono presenti modifiche in un singolo file, è sufficiente ricompilare tale file.
- Se si abilita questo strumento nei progetti, si ottimizzano le prestazioni sia in fase di compilazione che in fase di esecuzione. Per altre informazioni su queste proprietà, vedere la documentazione sul processo di compilazione in Xamarin.Android.
Miglioramenti dell'emulatore Android
In Visual Studio 2019 le immagini dell'emulatore Android sono più semplici da creare. Abbiamo anche continuato a collaborare con il team di Windows in relazione all'Aggiornamento di Windows 10 (ottobre 2018), versione 1809, per migliorare le prestazioni dell'emulatore Android durante l'esecuzione in Hyper-V.
- I nuovi utenti possono creare la prima immagine semplicemente premendo l'icona di esecuzione.
- La nostra esperienza di acquisizione dell'emulatore determina automaticamente la migliore configurazione per il programma di installazione e consente di sfruttare l'accelerazione hardware (con Intel HAXM o Hyper-V) e l'avvio rapido per impostazione predefinita.
- Quando si vuole creare un'altra immagine, è possibile selezionare Crea emulatore Android nell'elenco a discesa per aprire Android Device Manager.
Velocizzare i tempi di compilazione grazie ai miglioramenti per la compilazione in Xamarin.Android
È stato introdotto un insieme di miglioramenti per le prestazioni di compilazione iniziale. A partire da oggi, Xamarin.Android 9.1.1+ include miglioramenti significativi per le prestazioni di compilazione rispetto alla versione precedente. Per altri dettagli, vedere il confronto delle prestazioni di compilazione di Xamarin.Android 15.9 e 16.0.
Miglioramenti per la distribuzione rapida per Xamarin.Android
Fino a oggi Fast Deployment ha fornito tempi di distribuzione incrementale più rapidi ignorando la ricompilazione o la ridistribuzione del pacchetto Android (file APK) negli scenari in cui non vengono apportate modifiche ad alcun asset, risorsa o libreria nativa condivisa inclusa nel pacchetto dell'app, né ad alcuna classe definita dall'utente che eredita da Java.Lang.Object
.
La funzionalità Fast Deployment migliorata estende il supporto per la distribuzione rapida in modo da includere librerie native condivise e classi che ereditano da Java.Lang.Object
. Le compilazioni Fast Deployment che usano questi nuovi miglioramenti devono generare un nuovo file APK solo in un numero limitato di scenari, ad esempio quando il file AndroidManifest.xml cambia a causa dell'aggiunta di una nuova sottoclasse Android.App.Application
o Activity
.
Questi miglioramenti non sono ancora abilitati per impostazione predefinita nell'anteprima corrente. Per abilitarli, impostare la proprietà MSBuild $(AndroidFastDeploymentType)
su Assemblies:Dexes
nel file CSPROJ:
<PropertyGroup>
<AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType>
</PropertyGroup>
Supporto di Dex Compiler(d8) e Code Shrinker(r8) di nuova generazione in Xamarin.Android
Xamarin.Android supporta ora il compilatore dex (d8) e lo strumento di compressione del codice (r8) di Android.
Per abilitare queste funzionalità, impostare le proprietà MSBuild $(AndroidDexTool)
e $(AndroidLinkTool)
rispettivamente su d8
e r8
nel file CSPROJ
- d8 è un compilatore dex di nuova generazione che viene eseguito più rapidamente e produce file DEX di dimensioni minori con prestazioni di runtime migliori.
<PropertyGroup>
<AndroidDexTool>d8</AndroidDexTool>
</PropertyGroup>
- r8 è un nuovo strumento per la compressione e la minimizzazione che converte bytecode Java in codice dex ottimizzato, eliminando la necessità di usare ProGuard.
<PropertyGroup>
<AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>
Per altri dettagli su d8 e r8, vedere la documentazione.
Miglioramenti di Xamarin.Android Designer
Sono stati apportati numerosi miglioramenti alla produttività per le interazioni in doppia visualizzazione.
- Possibilità di trascinare e rilasciare gli elementi direttamente dalla casella degli strumenti nell'editor di origine per consentire rapidamente il processo di scaffolding dei layout Android.
- Selezione degli elementi direttamente dall'ambito di definizione XML nell'editor di origine. Questa funzionalità è stata implementata eseguendo la sincronizzazione della posizione del cursore con la visualizzazione di Android corrispondente, consentendo di accedere rapidamente alle proprietà di un elemento nel pannello relativo direttamente dall'editor.
- Uso di un'anteprima di colore inline per il codice XML in modo che sia possibile visualizzare i colori usati nei controlli.
- Uso della funzionalità di informazioni rapide passando il cursore del mouse su un valore per visualizzare altre informazioni, ad esempio il punto in cui è definito oppure il valore esadecimale del colore.
Miglioramenti della finestra di progettazione Xamarin.Android con il supporto iniziale di layout con vincoli
Microsoft è impegnata a migliorare la velocità di avvio di Android Designer. Come parte di questo impegno, è stata anche migliorata la messaggistica fornita dalla finestra di progettazione durante il caricamento.
Insieme a questi miglioramenti, Android Designer supporta ora in modo nativo Android Pie (9.0) e offre il completamento automatico per attributi ConstraintLayout
.
Ottenere migliori ottimizzazioni di IntelliSense e commento XML con Xamarin.Android Designer
Quando si Usa IntelliSense per aggiungere un widget a un layout, viene ora fornita un'esperienza completa di gestione dei frammenti in modo da permettere di fornire gli attributi necessari sin dall'inizio. Sono state aggiunte funzionalità intelligenti per l'aggiunta e la rimozione dei commenti per i layout XML per Android.
Essere più produttivi usando Go-To-Definition e usare IntelliSense XML all'interno di file di risorse Android e AndroidManifest.xml
È ora possibile fare clic tenendo premuto CTRL negli URL di risorsa per passare al file o alla riga in cui sono definiti.
Sono ora supportati IntelliSense e/o il completamento automatico per altri file XML Android diversi dai layout (colori, stringhe, risorse drawable, menu, manifesto Android e così via).
Piattaforma UWP (Universal Windows Platform)
- L'estensione IntelliCode ora supporta XAML.
- Per ridurre la complessità e le dimensioni di installazione di Visual Studio, gli emulatori di Windows Phone sono stati rimossi dall'installazione stessa. È quindi necessario scaricare gli emulatori manualmente.
- Gli strumenti in fase di progettazione XAML per le app UWP che fanno riferimento agli SDK di Windows 10 prima di Windows 10 Fall Creators Update (versione 16299) sono stati rimossi. Per usare la finestra di progettazione XAML, le applicazioni devono fare riferimento a Windows 10 versione 1709 o successiva. In alternativa, usare l'editor XAML.
- I progetti di test della piattaforma UWP che usano
project.json
per definire le dipendenze di NuGet non sono più supportati. Per usare il nuovo formatoPackageReference
, è necessario aggiornare il progetto. - Le app UWP JavaScript non sono più supportate in Visual Studio 2019. Non è possibile creare o aprire progetti JavaScript della piattaforma UWP (file con estensione
jsproj
). Per altre informazioni, leggere la documentazione sulla creazione delle app Web progressive eseguite in modo corretto in Windows. - È possibile continuare a collegarsi alle app UWP JavaScript come prima, tuttavia gli strumenti di profilatura JavaScript (rete, CPU e profiler della memoria) non sono più disponibili in Visual Studio 2019.
Aggiornamenti dei modelli degli strumenti di Office
In Visual Studio 2019 sono state apportate alcune modifiche ai modelli di Office, SharePoint e Visual Studio Tools per Office.
- I modelli di SharePoint 2019 aggiunti in Visual Studio 2017 15.9 sono disponibili anche in Visual Studio 2019.
- È stato rimosso il supporto per il flusso di lavoro sequenziale di SharePoint o per i flussi di lavoro della macchina a stati. Anche se non sarà possibile creare o aprire tali flussi di lavoro in Visual Studio 2019, è possibile continuare a modificarli nelle versioni precedenti di Visual Studio.
- I modelli di Office 2010 non sono più disponibili. È comunque possibile aprire progetti esistenti di Office 2010 in Visual Studio 2019.
- I modelli di Office 2013 e 2016 sono stati rinominati per riflettere il supporto di Office 2013 e versioni successive.
Team Explorer e Azure DevOps
È in fase di rilascio un'esperienza nuova, semplificata e specifica per gli sviluppatori nella connessione tra Team Explorer e un progetto Azure DevOps.
Attenzione concentrata sugli elementi di lavoro rilevanti filtrando e indirizzando la visualizzazione in base agli elementi di lavoro assegnati all'utente, ovvero quelli specifici seguiti dall'utente, quelli in cui l'utente è stato menzionato e quelli basati sull'attività dell'utente.
- In ogni visualizzazione è possibile creare una funzione inline dell'elemento di lavoro, eseguire modifiche inline semplici, contrassegnare un elemento di lavoro come completato e associare un elemento di lavoro a modifiche in sospeso.
Creazione di un ramo locale da un elemento di lavoro che automaticamente mette in relazione l'elemento di lavoro alle modifiche apportate a tale ramo. Questa è l'esperienza predefinita. Per passare all'esperienza legacy, impostare l'esperienza Elementi di lavoro in Visual Studio. Si noti che questa nuova esperienza è valida solo per repository Git. La nuova esperienza per i repository tfvc sarà disponibile in un aggiornamento seguente.
Ricerca degli elementi di lavoro quando si inserisce una menzione nel messaggio di commit delle modifiche in sospeso. Per altre informazioni, vedere View and add work items using the Work Items page (Visualizzare e aggiungere elementi di lavoro nella pagina Elementi di lavoro).
Il supporto per Microsoft Project è stato rimosso dal plug-in Integrazione di Office con Team Foundation Server 2019 per Visual Studio 2019 a causa di una bassa frequenza di uso in Azure DevOps. È necessario pertanto esportare gli elementi di lavoro in Excel e incollarli manualmente in Project.
Il supporto per PowerPoint è stato rimosso dal plug-in Integrazione di Office con Team Foundation Server 2019 per Visual Studio 2019. Gli utenti possono comunque creare storyboard di PowerPoint e collegarli manualmente a elementi di lavoro in DevOps di Azure.
Application Insights e HockeyApp
- La finestra Tendenze di Application Insights è stata rimossa in Visual Studio 2019 per essere sostituita con alternative con maggiori funzionalità. È possibile usare la finestra Ricerca di Application Insights in Visual Studio o la vasta gamma di strumenti di diagnostica in Application Insights nel portale di Azure.
- Sono state rimosse le procedure guidate per l'aggiunta di HockeyApp SDK e per la creazione di nuove distribuzioni beta. È consigliabile usare Visual Studio App Center, componente successore di HockeyApp. È comunque possibile usare HockeyApp normalmente, ma senza questi collegamenti in Visual Studio.
Problemi risolti in Visual Studio 2019 RC
Data ultimo aggiornamento: 26 aprile 2019
- Il valore non può essere Null. Nome parametro: pUnk durante l'archiviazione del codice in TFS.
- "Subtype Designer" viene aggiunto senza necessità a file basati su Xml come i file csproj.
- TLS 1.0: la richiesta è stata interrotta: non è stato possibile creare un canale sicuro SSL/TLS.
- Esplora soluzioni: lo scorrimento tramite movimento su touch pad è troppo sensibile.
- [MSConnect 1173006] Elenco attività con il filtro impostato sull'intera soluzione non visualizza le attività quando il file viene chiuso.
- Xamarin.iOS non consente di selezionare asset immagine per la visualizzazione immagine.
- Errore irreversibile C1001: si è verificato un errore interno nel compilatore.
- Visual Studio 2019 - EF6 edmx文件无法保存-VS 2019 Preview 1 - Non è possibile salvare il file EF6 con estensione edmx.
- [WebKit] una classe non definita non è consentita come argomento per il tratto di tipo intrinseco del compilatore '__is_assignable' (regression).
- Visual Studio 2019: il contrasto in Gestione pacchetti nuget è insufficiente.
- Team Explorer - modifiche: il riquadro non si ridimensiona per la finestra di Team Explorer.
- Elenco dei server non persistente in Esplora oggetti di SQL Server in Visual Studio 2017.
- Problemi di IntelliSense con la modalità Linux-x64.
- Indice non compreso nell'intervallo consentito. Deve essere non negativo e minore della dimensione della raccolta. Nome parametro: index.
- La funzione ANNULLA di Visual Studio 2017 annullamento non funziona o smette di funzionare (segnalato DI NUOVO) .
- IntelliSense non funziona per i file creati in WSL.
- Errore di IntelliSense: l'inizializzazione del membro constexpr statico C++11 causa l'inizializzazione del membro "il membro potrebbe non essere inizializzato".
- Visual Studio non ripristina la posizione delle finestre quando si entra o esce dal debug.
- Gli elementi della casella degli strumenti di terze parti vengono ricaricati ogni volta che viene avviato Visual Studio 2019 Preview 2.2.
- L'impostazione come progetto di avvio causa l'arresto anomalo dell'IDE dopo l'aggiornamento alla versione 3 di Visual Studio 2019 Preview.
- La compilazione in Visual Studio 2019 di progetti Visual Studio 2017 C++ ha esito negativo.
- Corretto un problema di aggiornamento della casella degli strumenti.
- I controlli della casella degli strumenti rendono il file vssettings troppo grande.
- SSDT: correzione degli errori di accesso non riusciti durante l'esecuzione di una funzione di confronto dei nuovi dati.
- SSDT: La correzione per l'origine non è disponibile durante l'esecuzione di Confronto schema.
- SSDT: correzione per confronto schema Genera script non genera script .
- L'interfaccia utente "Individuazione della corrispondenza successiva in corso" di Cerca nei file è fastidiosa.
- Cerca nei file continua a visualizzare per impostazione predefinita il documento corrente.
- I riferimenti rapidi bloccano VS 2019 RC.
- PackageId:MsSqlCmdLnUtils;PackageAction:Install;ReturnCode:1603;.
- Elenco errori non visualizza gli errori perché l'ambito è "Documento corrente".
- Impossibile usare il punto di interruzione condizionale nel valore PropertyInfo.Name.
- Arresto anomalo di Visual Studio durante l'analisi delle macro alla fine di un file.
- La ricerca in Visual Studio 2019 è molto lenta.
- Visual Studio si blocca all'avvio del debug.
- vdproj non supportato in Visual Studio 2019 RC.
- L'immagine di benvenuto del programma di installazione di Visual Studio contiene un elemento offensivo per la cultura cinese.
- Il prerequisito dell'estensione VSIX è stato rimosso in Visual Studio 2019 RC interrompendo la compatibilità dell'estensione.
- La creazione di un progetto dalla schermata iniziale ignora la cartella di progetto selezionata.
- La finestra di dialogo delle proprietà cpp non viene visualizzata durante l'uso della voce di menu Progetto o la selezione del menu a discesa "Gestisci configurazione".
- Visual Studio 2019 Build Tools - il titolo del prompt per gli sviluppatori visualizza "Prompt dei comandi per gli sviluppatori per Visual Studio 2017".
- Tranlation in tedesco per quanto riguarda lo strumento di feedback: Inviare commenti > e suggerimenti > segnala un problema.
- 自动完成功能,如果双击候选项,会丢失输入焦点,需要单机编辑器才能继续输入-La funzione di completamento automatico, se si fa doppio clic sul candidato, perde lo stato attivo per l'input. È necessario un editor autonomo per continuare l'immissione.
- I menu di scelta rapida vengono a volte posizionati nel monitor errato in una configurazione a più monitor.
- Visual Studio 2019 in conflitto con QQ Pinyin.
- Impossibile trascinare la finestra di Visual Studio ingrandita.
- Violazione di accesso C++/CLI 15.9.5 ISO C++ Standard ultima bozza a partire da 15.9.5.
- La finestra di dialogo modale rimane aperta in modo permanente anche quando l'IDE è reattivo ("Preparazione della soluzione", "Creazione del progetto", Modifica e continuazione e così via).
- PackageId:OpenJDKV1;PackageAction:Uninstall;ReturnCode:0;.
- Visual Studio 2019 - La casella degli strumenti continua a visualizzare Inizializzazione in corso.
- IntelliSense nei file Razor (con estensione cshtml) non funziona.
- Il confronto schema SSDT non evidenzia le differenze nei file.
- Eccezione di Visual Studio all'apertura di file Razor con estensione cshtml.
- Inizializzazione dell'estensione non riuscita.
- Asp Core: viene visualizzato un errore di creazione di una nuova visualizzazione.
- VS 2019 RC: non è possibile creare elementi Windows Form (.NET Core). Vari errori.
- I riferimenti al progetto non vengono caricati dopo il passaggio a un altro ramo.
- Errore di scaffolding: non sono supportati scaffolder per questo elemento.
- Carica configurazione funziona solo prima del completamento della prima installazione.
- Elenco a discesa del tipo di progetto: il testo è parzialmente nascosto quando si usa "Testo più grande".
- Errore di localizzazione.
- La finestra Proprietà in Progettazione Forms visualizza la barra di scorrimento verticale senza quadratino di trascinamento con il ridimensionamento automatico nella visualizzazione 4K in Visual Studio 2019 RC.
- Il completamento automatico di Razor funziona finché non si preme TAB/INVIO, quindi passa a HTML.
- VSIXInstaller.exe si arresta casualmente durante l'installazione di più estensioni in modo sequenziale in Visual Studio 2019 RC.1.
- Lo spostamento di un carattere } causa l'arresto anomalo di Visual Studio.
- Estensioni dell'interfaccia utente Telerik per i controlli WPF disabilitate in Visual Studio 2019 Preview 3 e Preview 4.
- Eccezione System.OperationCanceledException non gestita.
- Arresto anomalo di Visual Studio 2019 RC all'avvio quando si usa un IME di terze parti (QQ Pinyin, Google IME).
- Arresto anomalo di Visual Studio 2019 Preview 4 se si chiude la finestra non ancorata.
- Errore di IntelliSense: l'inizializzazione del membro constexpr statico C++11 causa l'inizializzazione del membro "il membro potrebbe non essere inizializzato".
- "Rimuovi da elenco" per la pagina iniziale smette di funzionare.
- $(VCIDEInstallDir) è un percorso non valido. Barra rovesciata mancante in Microsoft.Cpp.Common.props.
- Arresto anomalo di Visual Studio 2019 Preview 2.0+ all'apertura di un filtro di soluzione.
- La barra degli strumenti Gestisci estensioni genera un'eccezione.
- Il test del compilatore di configurazione CMake non riesce per LLVM/clang-cl
- SSDT: correzione per migliorare le prestazioni del caricamento di soluzioni con più progetti.
- SSDT: la correzione per i file SQL non viene sempre eliminata quando si esegue un confronto dello schema tra un database e un progetto e viene eseguita successivamente una tabella di eliminazione.
- SSDT: correzioni di accessibilità per migliorare le funzionalità di narrazione.
- SSDT: sostituito il driver sqlncli meno recente con il nuovo driver ODBC Microsoft per SQL Server.
- È stato risolto il ricaricamento lento di più progetti C# e Visual Basic.
- Quando è presente IntelliSense, quando un utente preme MAIUSC+INVIO, viene completata la selezione attiva e viene inserita una nuova riga.
- È stato risolto un problema di PMA per cui non veniva eseguito correttamente il rendering delle descrizioni comando dell'editor e della lampadina.
- Le notifiche sugli arresti anomali causati dalle estensioni vengono ora nuovamente visualizzate.
- Le notifiche sulle prestazioni di Visual Studio sono state protette dalle manomissioni.
- È stato risolto un problema di rendering della barra degli strumenti quando viene trascinata nelle visualizzazioni.
- È stato risolto un problema di rendering di Strumenti Opzioni durante l'esecuzione con la sensibilità per monitor abilitata.
- Diverse classi DpiHelper sono state deprecate (estendibilità).
- È stato corretto il ridimensionamento della schermata iniziale per adattarlo al fattore di scala del monitor principale.
- È stato risolto un problema dell'importazione delle impostazioni in cui gli avvisi o gli errori non erano sempre segnalati correttamente.
- È stato risolto un problema per cui Strumenti Opzioni segnalava il rendering del software indipendentemente dal livello di rendering.
- È stato risolto un problema per cui il nome della cartella aperta non veniva visualizzato nell'area della barra del titolo.
- È stato risolto un problema di posizionamento di Cerca nei file quando è abilitata la sensibilità per monitor.
- È stato risolto un problema di rendering dello strumento decorativo del pannello Dock quando è abilitata la sensibilità per monitor.
- È ora possibile usare la funzionalità Debug spostamento cronologico con il debugger di snapshot nelle app ASP.NET in esecuzione in una macchina virtuale di Azure. Si noti che questa funzionalità potrebbe non funzionare in tutte le aree di Azure al momento del rilascio.
- È stato aggiornato lo scaffolding Dockerfile in Visual Studio Tools per Kubernetes in modo che usi il Registro contenitori di Microsoft anziché l'hub Docker.
- È stato risolto un problema in Visual Studio Tools per Kubernetes in base al quale la modifica di Dockerfile.develop non determina la ridistribuzione del servizio.
- È stato risolto un problema in Visual Studio Tools per Kubernetes in base al quale potrebbe verificarsi un errore nell'avvio di un servizio in un progetto Azure Dev Spaces.
- È stato risolto un problema in Visual Studio Tools per Kubernetes in base al quale l'esecuzione di un servizio in un progetto Azure Dev Spaces si interrompe dopo l'arresto del debug in Visual Studio.
- È stato risolto un problema in Visual Studio Tools per Kubernetes in base al quale a volte viene visualizzata una finestra di dialogo di errore del riferimento Null durante la selezione degli account nella finestra di dialogo Azure Dev Spaces.
- È stato risolto un problema in Visual Studio Tools per Kubernetes in base al quale viene visualizzata la finestra di dialogo di selezione del cluster durante l'aggiunta del supporto di orchestrazione Kubernetes.
- È stato corretto il rendering dell'Importazione/Esportazione guidata delle impostazioni durante l'esecuzione con riconoscimento del singolo monitor
- È stato corretto il ridimensionamento della finestra di dialogo Nuovo progetto durante l'esecuzione con riconoscimento del singolo monitor
- Sono stati introdotti alcuni miglioramenti visivi per la finestra iniziale
Problemi noti
Vedere tutti i problemi noti e le soluzioni alternative disponibili in Visual Studio 2019 versione 16.0 facendo clic sul collegamento seguente.
Feedback 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 2019
Per altre informazioni relative a versioni precedenti di Visual Studio 2019, vedere la pagina Cronologia delle note sulla versione di Visual Studio 2019.