Condividi tramite


RCLogoNote sulla versione di Visual Studio 2019 versione 16.7


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 .



Intervallo di tempo del supporto

Visual Studio 2019 versione 16.7 è ora non supportato.

Gli utenti Enterprise e Professional di Visual Studio 2019 versione 16.7 sono stati supportati e hanno ricevuto correzioni alle vulnerabilità di sicurezza fino ad aprile 2022. Questo intervallo di tempo è stato determinato dal fatto che nel marzo 2021 Visual Studio 2019 versione 16.9 è stato designato come baseline di manutenzione successiva 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.7

Note sulla versione archiviate di Visual Studio 2019

Blog di Visual Studio

Il blog di Visual Studio è la fonte ufficiale di informazioni dettagliate sul prodotto dal team Visual Studio Engineering. È possibile trovare informazioni approfondite sulle versioni di Visual Studio nei post seguenti:


Icona Note sulla versione Visual Studio 2019 versione 16.7.28

Data di rilascio: 19 aprile 2022

In questa versione di Visual Studio 2019 versione 16.7.28

  • Correzione vctip.exe regressione dalla versione 16.7.27

Icona Note sulla versione Visual Studio 2019 versione 16.7.27

Data di rilascio: 12 aprile 2022

In questa versione di Visual Studio 2019 versione 16.7.27

Avviso di sicurezza

CVE-2022-24765 Vulnerabilità di elevazione dei privilegi Una potenziale vulnerabilità di elevazione dei privilegi esiste in Git per Windows, in cui le operazioni Git potrebbero essere eseguite all'esterno di un repository durante la seratura di una directory Git. Git per Windows è ora aggiornato alla versione 2.35.2.1.

CVE-2022-24767 Vulnerabilità di hijack della DLL Una potenziale vulnerabilità di hijack della DLL esiste in Git per Windows Installer, quando si esegue il programma di disinstallazione nell'account utente SYSTEM. Git per Windows è ora aggiornato alla versione 2.35.2.1.

CVE-2022-24513 Vulnerabilità di elevazione dei privilegi Una potenziale vulnerabilità di elevazione dei privilegi esiste quando il servizio di aggiornamento di Microsoft Visual Studio analizza in modo non corretto i dati di configurazione locale.


Icona Note sulla versione Visual Studio 2019 versione 16.7.26

Data di rilascio: 8 marzo 2022

In questa versione di Visual Studio 2019 versione 16.7.26

Avviso di sicurezza

CVE-2020-8927 Vulnerabilità A Remote Code Execution vulnerabilità exists in .NET 5.0 and .NET Core 3.1 where a buffer overflow exists in the Brotli library versions prior to 1.0.8.

CVE-2022-24464 Vulnerabilità A Denial of Service esistente in .NET 6.0, .NET 5.0 e .NET CORE 3.1 durante l'analisi di determinati tipi di richieste di modulo HTTP.

CVE-2022-24512 Vulnerabilità Di esecuzione remota del codice esiste una vulnerabilità in .NET 6.0, .NET 5.0 e .NET Core 3.1 in cui si verifica un sovraccarico del buffer dello stack nella routine analisi doppia .NET.

CVE-2021-3711 Vulnerabilità di overflow del buffer OpenSSL Una potenziale vulnerabilità di overflow del buffer esiste in OpenSSL, utilizzata da Git per Windows. Git per Windows è ora aggiornato alla versione 2.35.1.2, che risolve questo problema.


Icona Note sulla versione Visual Studio 2019 versione 16.7.25

Data di rilascio: 8 febbraio 2022

In questa versione di Visual Studio 2019 versione 16.7.25

Avviso di sicurezza

CVE-2022-21871 Vulnerabilità di elevazione dei privilegi di elevazione dei privilegi dell'agente di raccolta standard dell'hub di diagnostica: esiste una vulnerabilità di elevazione dei privilegi se l'agente di raccolta standard dell'hub di diagnostica gestisce erroneamente le operazioni sui dati.


Icona Note sulla versione Visual Studio 2019 versione 16.7.24

Data di rilascio: 11 gennaio 2022

In questa versione di Visual Studio 2019 versione 16.7.24

  • È stato risolto un problema relativo all'impossibilità di eseguire il debug delle applicazioni più volte quando Terminale Windows viene usato come terminale predefinito.
  • Correzione del programma di installazione per sbloccare i clienti in configurazioni limitate
  • È stato risolto un problema che impediva a un client di aggiornare un programma di avvio automatico più recente. Quando il client usa il programma di avvio automatico e il programma di installazione forniti a gennaio 2022 o versione successiva, tutti gli aggiornamenti che usano i programma di avvio automatico successivi dovrebbero funzionare per la durata del ciclo di vita del prodotto.

Dalla Developer Community


Icona Note sulla versione Visual Studio 2019 versione 16.7.23

Data di rilascio: 14 dicembre 2021

In questa versione di Visual Studio 2019 versione 16.7.23

  • Aggiunta di Python 3.9.7 al carico di lavoro Python. Rimosso Python 3.7.8 a causa di una vulnerabilità di sicurezza.

Avviso di sicurezza

CVE-2021-43877 Vulnerabilità: esiste una vulnerabilità di elevazione dei privilegi in ANCM che potrebbe consentire l'elevazione dei privilegi quando le applicazioni .NET Core, .NET 5 e .NET 6 sono ospitate in IIS.


Icona Note sulla versione Visual Studio 2019 versione 16.7.22

Data di rilascio: 16 novembre 2021

In questa versione di Visual Studio 2019 versione 16.7.22

  • I programma di avvio automatico rispettano ora il parametro --useLatestInstaller, che causa l'integrazione del programma di installazione più recente nel layout. Questo programma di installazione più recente, fornito con Visual Studio 2022, consente alle aziende di eseguire la transizione dei client da una posizione di layout a un'altra. Per altre informazioni, vedere la [Guida agli amministratori di Visual Studio](* I programma di avvio automatico rispettano ora il parametro --useLatestInstaller, che determina l'integrazione del programma di installazione più recente nel layout. Questo programma di installazione più recente, fornito con Visual Studio 2022, consente alle aziende di eseguire la transizione dei client da una posizione di layout a un'altra. Per altre informazioni, vedere la Guida per gli amministratori di Visual Studio.

Icona Note sulla versione Visual Studio 2019 versione 16.7.21

Data di rilascio: 9 novembre 2021

In questa versione di Visual Studio 2019 versione 16.7.21

  • Correzione di un bug che causava la scomparsa di un collegamento di scelta rapida del menu Start. Il bug si è verificato solo quando si aggiornano più istanze di SKU di prodotti diversi nello stesso computer.

Avviso di sicurezza

CVE-2021-42319 Vulnerabilità di elevazione dei privilegi Una vulnerabilità di elevazione dei privilegi esiste nel provider WMI incluso nel programma di installazione di Visual Studio.

CVE-2021-42277 Vulnerabilità di elevazione dei privilegi del servizio di raccolta standard dell'hub di diagnostica Vulnerabilità di elevazione dei privilegi Si verifica una vulnerabilità di elevazione dei privilegi quando l'agente di raccolta standard dell'hub di diagnostica gestisce erroneamente le operazioni sui file.


Icona Note sulla versione Visual Studio 2019 versione 16.7.20

Data di rilascio: 12 ottobre 2021

In questa versione di Visual Studio 2019 versione 16.7.20

Avviso di sicurezza

CVE-2021-41355 Vulnerabilità di divulgazione in .NET 5.0 Vulnerabilità di divulgazione di informazioni in .NET in cui System.DirectoryServices.Protocols.LdapConnection invia credenziali in testo normale in Linux.

CVE-2020-1971 OpenSSL Denial of Service Vulnerability A potenziale vulnerabilità Denial of Service esiste nella libreria OpenSSL, usata da Git.

CVE-2021-3449 OpenSSL Denial of Service Vulnerabilità A potenziale vulnerabilità Denial of Service esiste nella libreria OpenSSL, usata da Git.

CVE-2021-3450 OpenSSL Denial of Service Vulnerability Un potenziale bypass del flag esiste nella libreria OpenSSL, utilizzata da Git.


Icona Note sulla versione Visual Studio 2019 versione 16.7.19

Data di rilascio: 14 settembre 2021

In questa versione di Visual Studio 2019 versione 16.7.19

Avviso di sicurezza

CVE-2021-26434 Visual Studio Vulnerabilità di escalation dei privilegi di assegnazione autorizzazioni Non corretta Esiste in Visual Studio dopo l'installazione dello sviluppo di giochi con C++ e la selezione del carico di lavoro Programma di installazione del motore Unreal. Il sistema è vulnerabile a LPE durante l'installazione che crea una directory con accesso in scrittura a tutti gli utenti.

CVE-2021-36952 Vulnerabilità di esecuzione remota del codice di Visual Studio Una vulnerabilità di esecuzione remota del codice esiste 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.


Icona Note sulla versione Visual Studio 2019 versione 16.7.18

Data di rilascio: 10 agosto 2021

In questa versione di Visual Studio 2019 versione 16.7.18

  • È stato risolto un problema che interessava l'esecuzione della riga di comando del comando update. Se l'aggiornamento ha esito negativo la prima volta, un successivo rilascio del comando di aggiornamento ora fa sì che l'aggiornamento riprenda l'operazione precedente in cui è stata interrotta.

Avviso di sicurezza

CVE-2021-26423 .NET Core Denial of Service Vulnerability A Denial of Service vulnerability exists where .NET (Core) server applications providing WebSocket endpoints could be tricked into endlessly looping while trying to read a single WebSocket frame.

CVE-2021-34485 Vulnerabilità di divulgazione di informazioni Di .NET Core Esiste una vulnerabilità di divulgazione di informazioni quando i dump creati dallo strumento per raccogliere dump di arresto anomalo e dump su richiesta vengono creati con autorizzazioni di lettura globali in Linux e macOS.

CVE-2021-34532 ASP.NET vulnerabilità di divulgazione di informazioni di base Esiste una vulnerabilità di divulgazione di informazioni in cui viene registrato un token JWT se non può essere analizzato.


Icona Note sulla versione Visual Studio 2019 versione 16.7.17

Data di rilascio: 13 luglio 2021

In questa versione di Visual Studio 2019 versione 16.7.17

  • .NET 3.1.411 SDK inserito in Visual Studio 2019.

Icona Note sulla versione Visual Studio 2019 versione 16.7.16

Data di rilascio: 8 giugno 2021

In questa versione di Visual Studio 2019 versione 16.7.16

Avviso di sicurezza

CVE-2021-31957 ASP.NET vulnerabilità Denial of Service A Denial of Service esiste quando ASP.NET Core gestisce erroneamente la disconnessione del client.


Icona Note sulla versione Visual Studio 2019 versione 16.7.15

Data di rilascio: 11 maggio 2021

In questa versione di Visual Studio 2019 versione 16.7.15

  • È stato risolto un problema che causava l'esito negativo degli aggiornamenti quando un amministratore crea un nuovo layout di Visual Studio per la distribuzione degli aggiornamenti. L'aggiornamento del computer client avrà esito negativo perché il layout ha spostato le posizioni.

Avviso di sicurezza

CVE-2021-27068 RCE possibile quando si pianta python.exe nella cartella nidificata Esiste una vulnerabilità di esecuzione del codice remoto quando si apre un'area di lavoro con codice Python e tale area di lavoro contiene un python.exe in una sottocartella degli script.

CVE-2021-31204 Vulnerabilità di elevazione dei privilegi di .NET Core Una vulnerabilità di elevazione dei privilegi esiste in .NET 5.0 e .NET Core 3.1 quando un utente esegue una singola applicazione file nei sistemi operativi basati su Linux o macOS.


Icona Note sulla versione Visual Studio 2019 versione 16.7.14

Data di rilascio: 13 aprile 2021

In questa versione di Visual Studio 2019 versione 16.7.14

  • Optimizer rimuove erroneamente il codice attivo
  • NuGet segnala l'origine del pacchetto e l'hash del contenuto del pacchetto durante il ripristino dei pacchetti con un livello di dettaglio di output normale
  • NuGet salverà l'origine del pacchetto nel file .nupkg.metadata del pacchetto nella cartella dei pacchetti globali. I pacchetti esistenti nella cartella pacchetti globali non otterranno queste informazioni aggiuntive. La cartella dei pacchetti globali può essere cancellata per raccogliere informazioni sull'origine del pacchetto per tutti i pacchetti.

Avviso di sicurezza

CVE-2021-27064 Programma di installazione di Visual Studio vulnerabilità di elevazione dei privilegi Esiste una vulnerabilità di esecuzione remota del codice quando il programma di installazione di Visual Studio esegue il client di feedback in uno stato con privilegi elevati.

CVE-2021-28313 / CVE-2021-28321/ CVE-2021-28322 Vulnerabilità di elevazione dei privilegi del servizio agente di raccolta standard dell'hub di diagnostica Vulnerabilità di elevazione dei privilegi Esiste quando l'agente di raccolta standard dell'hub di diagnostica gestisce erroneamente le operazioni sui dati.


Icona Note sulla versione Visual Studio 2019 versione 16.7.13

Data di rilascio: 9 marzo 2021

In questa versione di Visual Studio 2019 versione 16.7.13

Avviso di sicurezza

CVE-2021-21300 Git per Visual Studio Remote Code Execution Vulnerability A remote code execution vulnerability exists when Visual Studio clona un repository dannoso.

CVE-2021-26701 Vulnerabilità di esecuzione remota del codice .NET Core Una vulnerabilità di esecuzione remota del codice esiste in .NET 5 e .NET Core a causa della modalità di esecuzione della codifica del testo.


Icona Note sulla versione Visual Studio 2019 versione 16.7.12

Data di rilascio: 9 febbraio 2021

In questa versione di Visual Studio 2019 versione 16.7.12


Icona Note sulla versione Visual Studio 2019 versione 16.7.11

Data di rilascio: 9 febbraio 2021

In questa versione di Visual Studio 2019 versione 16.7.11

Bug nel compilatore di ottimizzazione di Visual Studio 2019 versione 16.7.6

Avviso di sicurezza

CVE-2021-1639 TypeScript Language Service Remote Code Execution Vulnerabilità A remote code execution vulnerability exists when Visual Studio carica un repository dannoso contenente file di codice JavaScript o TypeScript.

CVE-2021-1721 Vulnerabilità Denial of Service di .NET Core Esiste una vulnerabilità Denial of Service durante la creazione di una richiesta Web HTTPS durante la compilazione della catena di certificati X509.

CVE-2021-24112 .NET 5 e vulnerabilità di esecuzione remota del codice di .NET Core Esiste una vulnerabilità di esecuzione remota del codice quando un'interfaccia grafica contiene ancora un riferimento. Questa vulnerabilità esiste solo nei sistemi in esecuzione in MacOS o Linux.


Icona Note sulla versione Visual Studio 2019 versione 16.7.10

Data di rilascio: 12 gennaio 2021

In questa release di Visual Studio 2019 versione 16.7.10

Avviso di sicurezza

CVE-2021-1651 / CVE-2021-1680 Vulnerabilità di elevazione dei privilegi del servizio agente di raccolta standard dell'hub di diagnostica Una vulnerabilità di elevazione dei privilegi esiste quando l'agente di raccolta standard dell'hub di diagnostica gestisce erroneamente le operazioni sui dati.

CVE-2020-26870 Programma di installazione di Visual Studio vulnerabilità di esecuzione remota del codice Esiste una vulnerabilità di esecuzione remota del codice quando il Programma di installazione di Visual Studio tenta di mostrare markdown dannoso.

CVE-2021-1723 .NET Core e Vulnerabilità Denial of Service di Visual Studio Esiste nell'implementazione di Kestrel.


Icona Note sulla versione Visual Studio 2019 versione 16.7.9

Data di rilascio: 08 dicembre 2020

In questa release di Visual Studio 2019 versione 16.7.9

Avviso di sicurezza

CVE-2020-17156 Vulnerabilità di esecuzione remota del codice di Visual Studio Si verifica una vulnerabilità di esecuzione remota del codice quando Visual Studio clona un repository dannoso.


Icona Note sulla versione Visual Studio 2019 versione 16.7.8

Data di rilascio: 10 novembre 2020

In questa release di Visual Studio 2019 versione 16.7.8

Avviso di sicurezza

CVE-2020-17100 Vulnerabilità di manomissione di Visual Studio Esiste una vulnerabilità di manomissione quando Python Tools per Visual Studio crea la cartella python27. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire processi in un contesto con privilegi elevati.



Icona Note sulla versione Visual Studio 2019 versione 16.7.7

Data di rilascio: 27 ottobre 2020

In questa release di Visual Studio 2019 versione 16.7.7


Icona Note sulla versione Visual Studio 2019 versione 16.7.6

Data di rilascio: 13 ottobre 2020

In questa release di Visual Studio 2019 versione 16.7.6


Icona Note sulla versione Visual Studio 2019 versione 16.7.5

Data di rilascio: 29 settembre 2020

In questa release di Visual Studio 2019 versione 16.7.5


Icona Note sulla versione Visual Studio 2019 versione 16.7.4

Data di rilascio: 21 settembre 2020

In questa release di Visual Studio 2019 versione 16.7.4

  • Aggiunta del supporto per Xcode 12.0 GM.
  • Aggiunta del supporto per l'impostazione di un set di colori come colore principale nell'editor Info.plist.

Icona Note sulla versione Visual Studio 2019 versione 16.7.3

Data di rilascio: 08 settembre 2020

In questa release di Visual Studio 2019 versione 16.7.3

Avviso di sicurezza

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 Una vulnerabilità di esecuzione remota del codice esiste 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 Una vulnerabilità di esecuzione remota del codice esiste 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 Microsoft ASP.NET Core Security Feature Bypass Vulnerability Una vulnerabilità di bypass della funzionalità di sicurezza esiste 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.

Ulteriori problemi corretti in questa versione

  • Correzione di un arresto anomalo del compilatore per istruzioni switch o espressioni switch che usano criteri di ricerca.
  • Ripristino del flusso di lavoro "Interrompi debug (MAIUSC+F5)" per il testing unità terminando l'esecuzione dei test.
  • Impedire l'arresto anomalo di Visual Studio durante il cambio della configurazione del progetto quando la finestra di progettazione WinForms .NET Core contiene modifiche non salvate.
  • 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.
  • Correzione di un problema a causa del quale non venivano cercate in modo accurato le dipendenze esterne nei file.
  • Reintroduzione del pulsante "Commit" nel sottomenu Git nel menu di scelta rapida del Esplora soluzioni.
  • Correzione di un bug che causava l'invisibilità dell'etichetta delle note di archiviazione TFVC.
  • Correzione di un arresto anomalo durante l'uso della finestra di progettazione WinForm in un csproj di tipo SDK con più framework di destinazione.
  • È stato risolto un problema per cui <d:Style.DataContext> segnalava un errore di markup non valido.

Problemi più comuni risolti da Developer Community in Visual Studio 2019 versione 16.7.3


Icona Note sulla versione Visual Studio 2019 versione 16.7.2

Data di rilascio: 18 agosto 2020

In questa release di Visual Studio 2019 versione 16.7.2

Problemi più comuni risolti da Developer Community in Visual Studio 2019 versione 16.7.2


Icona Note sulla versione Visual Studio 2019 versione 16.7.1

Data di rilascio: 11 agosto 2020

In questa release di Visual Studio 2019 versione 16.7.1

Problemi più comuni risolti da Developer Community in Visual Studio 2019 versione 16.7.1


Icona Note sulla versione Visual Studio 2019 versione 16.7.0

Data di rilascio: 5 agosto 2020

In questa release di Visual Studio 2019 versione 16.7.0

C++

  • Il supporto di C++ remoto supporta ora una gamma più ampia di distribuzioni e shell Linux, tra cui sh, csh, bash, tsch, ksh, zsh e dash. È possibile ignorare la scelta di una shell per una connessione remota modificando la nuova proprietà "shell" tramite ConnectionManager.exe. Questo supporto è stato testato con i progetti Linux basati su MSBuild e i progetti CMake destinati a un sistema Linux remoto o a WSL.
  • È ora possibile usare Ninja (un sistema di compilazione che valuta le compilazioni incrementali molto rapidamente) per migliorare i tempi di compilazione incrementali per i progetti Linux basati su MSBuild. È possibile acconsentire esplicitamente a questa funzionalità impostando "Abilita compilazioni incrementali" su "Con Ninja" nella pagina delle proprietà generali. Ninja (ninja-build) deve essere installato nel sistema Linux remoto o in WSL.
  • Sono state implementate nuove funzionalità della libreria standard C++20. Per un elenco dettagliato, vedere il log delle modifiche STL su GitHub.
  • È ora possibile modificare e impostare le connessioni SSH remote predefinite in Gestione connessioni. È quindi possibile modificare una connessione remota esistente (ad esempio, se è stato modificato l'indirizzo IP) e impostare le connessioni predefinite da utilizzare in CMakeSettings.json e launch.vs.json. Le connessioni SSH remote consentono di eseguire direttamente da Visual Studio la compilazione e il debug di progetti C++ in un sistema Linux remoto.
Modificare le connessioni remote in Gestione connessioni
Modificare le connessioni remote in Gestione connessioni
  • Supporto avanzato di IntelliSense per Clang in Windows (clang-cl) in Visual Studio. Il percorso di inclusione di Clang include ora le librerie Clang. È stata migliorata la visualizzazione della linea ondulata nell'editor quando si usa la libreria std ed è stato aggiunto il supporto per C++2a in modalità Clang.
  • è ora possibile provare la sottolineatura degli errori del codice e visualizzare un numero maggiore di correzioni rapide suggerite nei progetti C++. Abilitare questa funzionalità in Strumenti > Opzioni > Editor > di testo C/C++ > Set sperimentale > 'Disable Experimental Code Linter' su false. Per altre informazioni, vedere il blog del team di C++.
Linter del codice IntelliSense
Linter del codice IntelliSense
  • Sono state aggiunte quattro nuove regole di analisi del codice per incorporare funzionalità di sicurezza aggiuntive in C++: C26817, C26818, C26819 e C26820.
  • È stato aggiunto un supporto di livello avanzato per eseguire il debug di progetti CMake in sistemi remoti con gdbserver.
  • Per i progetti nativi x64 è ora disponibile un'implementazione sperimentale di AddressSanitizer per C++ in Visual Studio che consente di rilevare facilmente errori di danneggiamento della memoria. È ora supportato anche l'uso di runtime di debug (/MTd, /MDd, /LDd).
  • IntelliSense include ora il supporto di base per concetti, inizializzatori designati e varie altre funzionalità di C++ 20.
  • I file con estensione ixx e cppm sono ora riconosciuti come C++ e verranno trattati come tali dall'evidenziatore della sintassi e da IntelliSense.

Definire le playlist in modo dinamico

È ora possibile definire le playlist in modo dinamico in base al progetto, alla classe o allo spazio dei nomi. È quindi possibile configurare una playlist per includere tutti gli elementi in un determinato progetto/classe/spazio dei nomi. Ogni nuovo test aggiunto al gruppo verrà automaticamente incluso nella playlist.

  • Per creare una playlist, fare clic con il pulsante destro del mouse su un raggruppamento di progetti, spazi dei nomi o classi in Esplora test.
Esplora test: Creare una playlist
Esplora test: Creare una playlist
  • Modificare i gruppi inclusi nella playlist facendo clic sul pulsante di modifica nella barra degli strumenti. Verranno visualizzate le caselle di controllo. Modificare i gruppi in base alle esigenze.
Esplora test: Modificare una playlist
Esplora test: Modificare una playlist
  • Anziché essere un elenco statico di test, queste playlist vengono aggiornate in modo dinamico in base a regole. Per comprendere meglio le regole che generano la playlist dinamica, salvare il file della playlist su disco usando il pulsante Salva e visualizzare le regole generate nel codice XML.
Set di regole dinamiche del file di PlayList
Set di regole dinamiche del file di PlayList
  • È possibile continuare a includere e/o escludere singoli test e la playlist aggiornerà le regole dinamiche o tornerà a tenere traccia dei test come elenco statico. È anche possibile usare i tratti per definire un gruppo dinamico modificando direttamente il file XML della playlist.

Produttività Git

Attivare la funzionalità di anteprima 'New Git User Experience' (Nuova esperienza utente Git) in Strumenti | Opzioni | Environment to use this experience (Ambienti che usano questa esperienza).

  • Creare un nuovo repository Git, a partire da qualsiasi cartella o da una nuova cartella
  • Salvare e chiudere una cartella o una soluzione aperta prima di avviare una nuova operazione di clonazione
  • Visualizzare in modo chiaro gli errori dei messaggi di commit o di accantonamento nella casella di testo del commit
  • Visualizzare e gestire i rami Git in una visualizzazione albero all'interno di una nuova finestra Repository GIT
  • Passare a e interagire con il grafico della cronologia di ogni ramo nella finestra Repository GIT
  • Visualizzare i commit in entrata e in uscita nella finestra Repository Git
  • Altri dettagli sulle funzionalità recenti nel blog del team responsabile della produttività Git
Gestire i rami e visualizzare la cronologia in una finestra del Repository GIT mirata
Gestire i rami e visualizzare la cronologia in una finestra del Repository GIT mirata

Risolvere i conflitti di merge con un editor di merge attivo di Git usando:

  • Una barra delle informazioni nei file contenenti conflitti di merge, che richiede di aprire l'editor di merge
  • Titoli e didascalie più informativi e meno disordine nell'editor di merge
  • Differenze nei conflitti che allineano le righe corrispondenti, mostrano le differenze a livello di parola e visualizzano lo spazio vuoto visibile quando è l'unica differenza.
  • Merge bidirezionali per conflitti di aggiunta/aggiunta a livello di file
  • Possibilità di risolvere tutti i conflitti in base a un lato o all'altro con un solo clic
  • Interruttore per mettere in evidenza solo i conflitti e ignorare le differenze non conflittuali
Nuova esperienza dell'editor di merge
Risolvere i conflitti di merge con l'editor di merge

JavaScript/TypeScript

  • Sono state aggiornate le implementazioni di Completamento e Informazioni rapide per supportare meglio gli scenari LiveShare.

Processo locale con Kubernetes

Processo locale con Kubernetes
Processo locale con Kubernetes

Processo locale con Kubernetes consente di scrivere, testare ed eseguire il debug del codice .NET nella workstation di sviluppo rimanendo connessi al cluster Kubernetes con il resto delle applicazioni o dei servizi. Connettendo la workstation di sviluppo al cluster, si elimina la necessità di eseguire e di configurare manualmente i servizi dipendenti nel computer di sviluppo. Le variabili di ambiente, le stringhe di connessione e i volumi del cluster sono disponibili per il codice del microservizio in esecuzione in locale. Non sono necessarie risorse aggiuntive, ad esempio manifesti Dockerfile o Kubernetes. L'esecuzione, il debug e il test del codice .NET seguono le normali procedure.

Per abilitare processo locale con Kubernetes, passare a Strumenti > Opzioni funzionalità > di anteprima di Envrionment > e selezionare "Abilita debug locale per i servizi Kubernetes".

Abilitare le funzionalità di anteprima
Abilitare le funzionalità di anteprima

Per le applicazioni console .NET è necessario un passaggio aggiuntivo. Installare il pacchetto NuGet "Microsoft.VisualStudio.Azure.Kubernetes.Tools.Targets".

Produttività .NET

Sono ora disponibili un avviso e una correzione del codice quando un operatore di eliminazione è presente, ma non ha alcun effetto. È disponibile anche una seconda correzione del codice che suggerisce l'espressione di negazione corretta. Posizionare il cursore sull'operatore di eliminazione. Premere (Ctrl + .) per attivare il menu Azioni rapide e refactoring. Selezionare poi uno dei tipi seguenti:

  • Per rimuovere completamente l'operatore, selezionare Rimuovi l'operatore (conserva la semantica):
Correzione del codice per rimuovere l'operatore di eliminazione
Correzione del codice per rimuovere l'operatore di eliminazione
  • Per negare l'espressione, selezionare Nega l'espressione (modifica la semantica):
Correzione del codice per negare l'espressione
Correzione del codice per negare l'espressione
  • È anche possibile negare l'espressione con il nuovo modello di C# 9 not se è disponibile nel progetto:
Correzione del codice per negare l'espressione mediante not
Correzione del codice per negare l'espressione mediante not

È ora possibile generare proprietà durante la generazione di un costruttore in un tipo. Posizionare il cursore sull'istanza. Premere (Ctrl + .) per attivare il menu Azioni rapide e refactoring. Selezionare Genera costruttore in <QualifiedName> (con proprietà).

Generare proprietà durante la generazione del costruttore
Generare proprietà durante la generazione del costruttore
  • Informazioni rapide ora visualizza l'ID di diagnostica con un collegamento alla Guida che consente di passare facilmente alla documentazione per ottenere altre informazioni sugli avvisi e sugli errori nel codice.
ID di diagnostica di Informazioni rapide e collegamento alla Guida
ID di diagnostica di Informazioni rapide e collegamento alla Guida
  • È ora disponibile un'azione rapida per aggiungere un attributo di visualizzazione del debugger a una classe. In questo modo è possibile aggiungere le proprietà all'interno del debugger a livello di codice. Posizionare il cursore sul nome della classe. Premere (Ctrl+.) per attivare il menu Azioni rapide e refactoring. Selezionare Add ‘DebuggerDisplay` attribute (Aggiungi attributo DebuggerDisplay). L'attributo di visualizzazione del debugger verrà aggiunto all'inizio della classe e verrà generato un metodo automatico che restituisce ToString () che è possibile modificare affinché restituisca il valore della proprietà che si vuole aggiungere al debugger.
Aggiungere l'attributo di visualizzazione del debugger
Aggiungere l'attributo di visualizzazione del debugger
  • È ora disponibile una correzione del codice per assegnazioni o confronti accidentali con la stessa variabile. Posizionare il cursore sull'avviso. Premere (Ctrl+.) per attivare il menu Azioni rapide e refactoring. Per le assegnazioni accidentali, selezionare Assegna a <QualifiedName.value>. Per i confronti accidentali, selezionare Confronta con <QualifiedName.value>.
Correzione del codice per le assegnazioni accidentali
Correzione del codice per le assegnazioni accidentali
Correzione del codice per i confronti accidentali
Correzione del codice per i confronti accidentali
  • È ora possibile generare operatori di confronto per i tipi che implementano IComparable. Posizionare il cursore all'interno della classe o in IComparable. Premere (Ctrl+.) per attivare il menu Azioni rapide e refactoring. Selezionare Genera gli operatori di confronto. Verrà automaticamente generata una sezione di codice con gli operatori di confronto.
Generare gli operatori di confronto
Generare gli operatori di confronto
  • È ora possibile generare gli operatori IEquatable durante la generazione di .Equals per gli struct. È già stato effettuato il refactoring per Genera Equals e GetHashCode per i tipi di valore. Ora con gli struct verranno automaticamente aggiunti gli operatori IEquatable e gli operatori di uguaglianza e disuguaglianza. Posizionare il cursore all'interno dello struct. Premere (Ctrl+.) per attivare il menu Azioni rapide e refactoring. Selezionare Genera Equals(oggetto).
Generare operatori IEquatable
Generare operatori IEquatable
  • È ora possibile creare e assegnare proprietà o campi per tutti i parametri del costruttore non usati. Era già disponibile un'azione rapida per un singolo parametro. Ora è possibile eseguire questa operazione per tutti i parametri non usati in una sola volta. Posizionare il cursore su un qualsiasi parametro rimanente. Premere (Ctrl+.) per attivare il menu Azioni rapide e refactoring. Per creare e inizializzare le proprietà, selezionare Crea e assegna rimanenti come proprietà. Per creare e inizializzare i campi, selezionare Crea e assegna rimanenti come campi.
Creare e assegnare rimanenti come campi
Creare e assegnare rimanenti come campi
Creare e assegnare rimanenti come proprietà
Creare e assegnare rimanenti come proprietà
  • È ora disponibile il completamento IntelliSense nei valori letterali stringa DateTime e TimeSpan. Posizionare il cursore all'interno del valore letterale stringa DateTime o TimeSpan e premere (CTRL+BARRA SPAZIATRICE). Verranno quindi visualizzate le opzioni di completamento e una spiegazione relativa al significato di ogni carattere. Verranno visualizzati il formato di data e ora e un esempio.
Completamento di IntelliSense in DateTime e TimeSpan
Completamento IntelliSense nei valori letterali stringa DateTime e TimeSpan
  • È ora possibile aggiungere un parametro all'interno della finestra di dialogo Cambia firma. Posizionare il cursore all'interno della firma del metodo. Premere (Ctrl+.) per attivare il menu Azioni rapide e refactoring. Selezionare Cambia firma. Si aprirà la finestra di dialogo seguente in cui è ora possibile selezionare Aggiungi per aggiungere un parametro. Dopo aver selezionato Aggiungi, si aprirà la nuova finestra di dialogo Aggiungi parametro. La finestra di dialogo Aggiungi parametro consente di aggiungere un nome di tipo e un nome di parametro. È possibile scegliere di rendere il parametro obbligatorio o facoltativo con un valore predefinito. È quindi possibile aggiungere un valore nel sito di chiamata e scegliere un argomento denominato per tale valore oppure è possibile introdurre una variabile TODO. La variabile TODO inserisce un valore TODO nel codice in modo che sia possibile visualizzare ogni errore, esaminare ogni sito di chiamata in modo indipendente e decidere cosa passare. Per i parametri facoltativi è possibile omettere completamente il sito di chiamata.
Finestra di dialogo Cambia firma
Finestra di dialogo Cambia firma
Finestra di dialogo Aggiungi parametro
Finestra di dialogo Aggiungi parametro
  • Gli autori di analizzatori possono ora usare CompletionProviders per i completamenti IntelliSense quando distribuiscono gli analizzatori con NuGet. Prima, gli autori di librerie avrebbero dovuto creare un progetto VSIX separato poiché CompletionProviders era disponibile solo in VSIX. Ora gli autori di librerie possono implementare i completamenti IntelliSense nel pacchetto NuGet in cui si trovano gli analizzatori, senza dover eseguire l'operazione separatamente. I provider di completamento implementati nei pacchetti NuGet offrono anche suggerimenti specifici per i singoli progetti e funzionano automaticamente in ogni IDE che supporta la funzionalità.

Razor

Per provare con tutti i file di Razor (con estensione cshtml/razor) il nuovo editor sperimentale di Razor basato sul protocollo di server di linguaggio, selezionare la funzionalità di anteprima Enable experimental Razor editor (Abilita l'editor sperimentale di Razor).

Esplora test

I comandi Esegui/Esegui debug di tutti i test nella visualizzazione sono stati aggiunti a Esplora test. Questi comandi sostituiscono i comandi Esegue tutti i test e Esegui debug di tutti i test visualizzati in Esplora test. Questa modifica chiarisce che questi comandi rispettano i filtri di Esplora test in modo che vengano eseguiti solo i test visibili nella finestra. Sono inclusi sia i filtri delle colonne che i filtri della casella di ricerca.

Comandi Esegui/Esegui debug di tutti i test nella visualizzazione di Esplora test
Comandi Esegui/Esegui debug di tutti i test nella visualizzazione di Esplora test

I comandi globali Esegui/Esegui debug di tutti verranno ora visualizzati solo nel menu Test di primo livello. Non sono più inclusi nella barra degli strumenti di Esplora test o nel menu di scelta rapida di qualsiasi visualizzazione della finestra di test. Quando viene attivato da Esplora test, il comando Analizza code coverage per i test selezionati si applica ora anche alle visualizzazioni della finestra di test.

Tasti di scelta rapida:

  • CTRL R, A - Esegui tutti i test - Comando globale che esegue sempre tutti i test
  • CTRL R, V - Esegui tutti i test nella visualizzazione - Comando valido solo quando è attiva una finestra di test (Esplora test, playlist, Live Unit Testing)
  • CTRL R, CTRL A - Esegui debug di tutti i test - Comando globale che esegue sempre il debug di tutti i test
  • CTRL R, CTRL V - Esegui debug di tutti i test nella visualizzazione - Comando valido solo quando è attiva una finestra di test (Esplora test, playlist, Live Unit Testing)

Debugger

Visualizzazione di oggetti COM gestiti tramite puntatori nativi

Questa funzionalità decodifica automaticamente gli oggetti COM gestiti a cui fanno riferimento i puntatori nativi che consentono di controllare completamente i valori nella finestra Variabili locali. Per altri dettagli, vedere questo post nel blog di Visual Studio.

Profiler

Nuovo strumento Contatori delle prestazioni .NET

Strumento Contatori delle prestazioni .NET
Strumento Contatori delle prestazioni .NET

Visualizzare contatori dotnet direttamente dall'interno del profiler di Visual Studio usando lo strumento Contatori delle prestazioni .NET. Per provare lo strumento, passare a Debug -> Profiler prestazioni -> Segno di spunta Strumento contatori delle prestazioni .NET.

Xamarin

  • Sono state introdotte utilità di correzione del codice per i tipi di problemi più comuni riscontrati dagli utenti con i file di layout Android.
  • L'esperienza di selezione del modello Xamarin.Forms ha ora un aspetto nuovo e più esemplificativo e i modelli Riquadro a comparsa e A schede usano ora Shell. Altre informazioni su Shell sono disponibili qui. Se per qualche motivo non si vuole usare Shell, usare il modello Vuoto.
Nuova esperienza di selezione del modello Xamarin.Forms
Scelta di un modello Xamarin.Forms

Strumenti XAML (WPF, UWP e Xamarin.Forms)

Ricaricamento rapido XAML:

  • Miglioramenti della barra degli strumenti in-app: abbiamo ulteriormente perfezionato l'esperienza della barra degli strumenti in-app che fa parte del flusso di lavoro degli strumenti xaml Ricaricamento rapido per WPF & UWP. Le modifiche includono una barra degli strumenti più breve in modo che non copra più l'applicazione in esecuzione e una modifica nel meccanismo di compressione che, quando si fa clic, comprimerà ora prima di tutto il testo di Ricaricamento rapido XAML, quindi comprimerà completamente la barra al secondo clic.

Finestra di progettazione XAML:

  • Supporto dei dati in fase di progettazione espanso per WPF e UWP: in questa versione viene introduttiva una nuova funzionalità di dati in fase di progettazione per sviluppatori WPF .NET Core e UWP. Questa nuova funzionalità estenderà l'elenco corrente delle proprietà della fase di progettazione accessibili tramite l'uso del prefisso d:. Questa funzionalità sarà familiare per gli sviluppatori Xamarin.Forms, in quanto rende disponibile lo stesso approccio per l'uso di un prefisso "d:" per indicare una proprietà di cui eseguire il rendering solo in fase di progettazione e che non viene mai compilata nell'app in esecuzione, rendendola molto sicura per l'uso per la convalida dell'interfaccia utente in fase di progettazione. In questa versione sono supportati tutti i controlli predefiniti per WPF e UWP ed è previsto il supporto di controlli di terze parti e personalizzati nelle versioni future.
  • Pulsante di aggiornamento della finestra di progettazione XAML: è stato aggiunto un pulsante di aggiornamento alla finestra di progettazione XAML. Questa nuova icona è disponibile nell'area dell'icona in basso a sinistra accanto all'indicatore del livello di zoom. Questa azione di aggiornamento esegue il ripristino equivalente alla chiusura della visualizzazione di progettazione e alla successiva riapertura per le rare situazioni in cui è necessario procedere in questo modo per risolvere un problema di rendering. Questa funzionalità è disponibile per gli sviluppatori WPF .NET Core e UWP.

Editor di codice XAML:

  • Visualizzatore colori: è stato ulteriormente perfezionato il nuovo visualizzatore di colori nell'editor di codice XAML per i progetti WPF .NET Core, WPF .NET Framework e Xamarin.Froms. In questa versione è stato aggiunto il supporto per la visualizzazione dei colori provenienti dalle risorse, in precedenza non supportata nell'ultima versione di anteprima.
Anteprime colori inline nell'editor di codice XAML
Anteprime colori inline nell'editor di codice XAML

Visualizzare gli elementi della casella degli strumenti da un pacchetto NuGet senza avere un riferimento al pacchetto

Molti autori di librerie di controlli vogliono che i controlli siano visibili nella casella degli strumenti anche quando il progetto corrente non ha ancora fatto riferimento alla libreria, per poterli individuare più facilmente. A questo scopo, gli SDK di WPF .NET Framework hanno sempre usato le voci del Registro di sistema, ma in .NET Core non è possibile. Per WPF .NET Core, la casella degli strumenti ora può essere popolata con i controlli dei file VisualStudioToolsManifest.xml disponibili nei pacchetti NuGet WPF .NET Core nelle cartelle di fallback di NuGet. Per altre informazioni, vedere la documentazione nel repository GitHub sull'estendibilità della finestra di progettazione XAML.

Windows Form

Progettazione Windows Form per .NET Core

È ora disponibile la finestra di progettazione Windows Form per i progetti .NET Core. Per abilitare la finestra di progettazione in Visual Studio, passare all'opzione Strumenti > Opzioni > ambiente > Anteprima funzionalità e selezionare l'opzione Usa la finestra di progettazione di anteprima Windows Form per le app .NET Core.

In questa versione sono ora supportati i controlli seguenti insieme ad altri miglioramenti:

  • Infrastruttura di controlli UserControl e personalizzati
  • TableLayoutPanel
  • Nozioni fondamentali per il supporto di controlli di terze parti
  • Nozioni fondamentali per il supporto di data binding
  • Miglioramenti nell'interazione della finestra di progettazione con TableLayoutPanel

Correzioni di bug

Principali problemi risolti in Visual Studio 2019 versione 16.7.0

  • È stato corretto un errore di installazione del componente Provider WMI.
  • È stato risolto un problema a causa del quale gli utenti non erano in grado di visualizzare lo stato di avanzamento dei test facendo clic sul pulsante a sinistra nella parte inferiore della barra.
  • Miglioramento delle prestazioni dell'individuazione dei piani di fatturazione disponibili per codespace di Visual Studio.
  • Quando si crea un codespace di Visual Studio, il tempo di sospensione predefinito è stato modificato da 30 minuti a 3 ore.
  • Correzione di un bug a causa del quale la finestra Modifiche GIT informa l'utente che hanno commit in ingresso/in uscita, quando in realtà ne hanno nessuno.
  • Maggiore stabilità di Strumenti di diagnostica e Profiler prestazioni.
  • È stato risolto un problema a causa del quale l'estensione di Visual Studio Azure Sphere non viene aggiornata automaticamente a causa di una mancata corrispondenza della versione secondaria. Con la correzione, Azure Sphere potrà essere aggiornato automaticamente quando viene eseguito lo strumento di aggiornamento automatico VSIX.

Dalla Developer Community


Problemi noti

Vedere tutti i problemi aperti e le soluzioni alternative disponibili in Visual Studio 2019 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 Icona Commenti e suggerimenti 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.


In alto