Visual Studio Icon Note sulla versione di Visual Studio 2019 versione 16.0Visual Studio 2019 version 16.0 Release Notes



Developer Community | Requisiti di sistema | Compatibilità | Codice distribuibile | Condizioni di licenza | Blog | Novità di Visual Studio DocsDeveloper Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Whats New in Visual Studio Docs


Fare clic su un pulsante per scaricare la versione più recente di Visual Studio 2019.Click a button to download the latest version of Visual Studio 2019. Per istruzioni sull'installazione e sull'aggiornamento di Visual Studio 2019, vedere Aggiornare Visual Studio 2019 alla versione più recente.For instructions on installing and updating Visual Studio 2019, see the Update Visual Studio 2019 to the most recent release. Vedere anche le istruzioni su come eseguire l'installazione offline.Also, see instructions on how to install offline.

Community Download Button Professional Download Button Enterprise Download Button


Novità di Visual Studio 2019 versione 16.0What's New in Visual Studio 2019 version 16.0

Intervallo di tempo del supportoSupport Timeframe

Visual Studio 2019 versione 16.0 non è più supportato.Visual Studio 2019 version 16.0 is now out of support.

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.Enterprise and Professional users of Visual Studio 2019 version 16.0 were supported and did receive fixes to security vulnerabilities through January 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.This timeframe was determined by the fact that in December 2019, Visual Studio 2019 version 16.4 was designated as the next servicing baseline to the Visual Studio 2019 product.   Per altre informazioni sulle baseline supportate di Visual Studio, vedere i criteri di supporto per Visual Studio 2019.For more information about Visual Studio supported baselines, please review the support policy for Visual Studio 2019.

Rilasci di Visual Studio 2019 versione 16.0Visual Studio 2019 version 16.0 Releases

Blog di Visual Studio 2019Visual Studio 2019 Blog

Il blog di Visual Studio 2019 è la fonte ufficiale di informazioni dettagliate sul prodotto da parte del team Visual Studio Engineering.The Visual Studio 2019 Blog is the official source of product insight from the Visual Studio Engineering Team. Qui è possibile trovare informazioni approfondite sulle versioni di Visual Studio 2019.You can find in-depth information about the Visual Studio 2019 releases there.


Release Notes Icon Visual Studio 2019 versione 16.0.22Visual Studio 2019 version 16.0.22

Data di rilascio: 12 gennaio 2020released January 12, 2020

Problemi risolti nella versione 16.0.22Issues fixed in 16.0.22

Avviso di sicurezza per la versione 16.0.22Security Advisory Notice for 16.0.22

CVE-2021-1651 / CVE-2021-1680 Vulnerabilità di elevazione dei privilegi del servizio dell'agente di raccolta standard dell'hub di diagnostica CVE-2021-1651 / CVE-2021-1680 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

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.An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector incorrectly handles data operations.

CVE-2020-26870 Vulnerabilità di esecuzione remota del codice del Programma di installazione di Visual Studio CVE-2020-26870 Visual Studio Installer Remote Code Execution Vulnerability

Esiste una vulnerabilità di esecuzione remota del codice quando il Programma di installazione di Visual Studio tenta di visualizzare codice Markdown dannoso.A remote code execution vulnerability exists when the Visual Studio Installer attempts to show malicious markdown.


Release Notes Icon Visual Studio 2019 versione 16.0.21Visual Studio 2019 version 16.0.21

Data di rilascio: 08 dicembre 2020released December 08, 2020

Problema risolto nella versione 16.0.21Issue fixed in 16.0.21

Avviso di sicurezza per la versione 16.0.21Security Advisory Notice for 16.0.21

CVE-2020-17156 Vulnerabilità di esecuzione remota del codice di Visual Studio CVE-2020-17156 Visual Studio Remote Code Execution Vulnerability

Esiste una vulnerabilità di esecuzione remota del codice quando Visual Studio clona un repository dannoso.A remote code execution vulnerability exists when Visual Studio clones a malicious repository.


Release Notes Icon Visual Studio 2019 versione 16.0.20Visual Studio 2019 version 16.0.20

Data di rilascio: 10 novembre 2020released November 10, 2020

Problema risolto nella versione 16.0.20Issue fixed in 16.0.20

Avviso di sicurezza per la versione 16.0.20Security Advisory Notice for 16.0.20

CVE-2020-17100 Vulnerabilità alla manomissione di Visual Studio CVE-2020-17100 Visual Studio Tampering Vulnerability

Quando Python Tools per Visual Studio crea la cartella python27, esiste una vulnerabilità alla manomissione.A tampering vulnerability exists when the Python Tools for Visual Studio creates the python27 folder. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire processi in un contesto con privilegi elevati.An attacker who successfully exploited this vulnerability could run processes in an elevated context.


Release Notes Icon Visual Studio 2019 versione 16.0.19Visual Studio 2019 version 16.0.19 New Release icon

Data di rilascio: 13 ottobre 2020released October 13, 2020

In questa versione 16.0.19In this Release of 16.0.19

  • .NET Core SDK 2.1.616 aggiunto a Visual Studio 2019..NET Code SDK 2.1.616 added to Visual Studio 2019.

Release Notes Icon Visual Studio 2019 versione 16.0.18Visual Studio 2019 version 16.0.18

Data di rilascio: 8 settembre 2020released September 8, 2020

Problemi risolti nella versione 16.0.18Issues fixed in 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.Out of support versions of .NET Core will no longer be reinstalled during a repair or upgrade if they were removed outside of VS setup.

Avviso di sicurezza per la versione 16.0.18Security Advisory Notice for 16.0.18

CVE-2020-1130 Vulnerabilità di elevazione dei privilegi dell'agente di raccolta standard dell'hub di diagnostica CVE-2020-1130 Diagnostics Hub Standard Collector Elevation of Privilege Vulnerability

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.An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector improperly handles data operations. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire processi in un contesto con privilegi elevati.An attacker who successfully exploited this vulnerability could run processes in an elevated context.

CVE-2020-1133 Vulnerabilità di elevazione dei privilegi dell'agente di raccolta standard dell'hub di diagnostica CVE-2020-1133 Diagnostics Hub Standard Collector Elevation of Privilege Vulnerability

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.An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector improperly handles file operations. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire processi in un contesto con privilegi elevati.An attacker who successfully exploited this vulnerability could run processes in an elevated context.

CVE-2020-16856 Vulnerabilità di esecuzione remota del codice di Visual Studio CVE-2020-16856 Visual Studio Remote Code Execution Vulnerability

Esiste una vulnerabilità di esecuzione del codice remoto in Visual Studio quando gestisce in modo non corretto gli oggetti in memoria.A remote code execution vulnerability exists in Visual Studio when it improperly handles objects in memory. Un utente malintenzionato può sfruttare efficacemente questa vulnerabilità ed eseguire codice arbitrario nel contesto dell'utente corrente.An attacker who successfully exploited the vulnerability could run arbitrary code in the context of the current user.

CVE-2020-16874 Vulnerabilità di esecuzione remota del codice di Visual Studio CVE-2020-16874 Visual Studio Remote Code Execution Vulnerability

Esiste una vulnerabilità di esecuzione del codice remoto in Visual Studio quando gestisce in modo non corretto gli oggetti in memoria.A remote code execution vulnerability exists in Visual Studio when it improperly handles objects in memory. Un utente malintenzionato può sfruttare efficacemente questa vulnerabilità ed eseguire codice arbitrario nel contesto dell'utente corrente.An attacker who successfully exploited the vulnerability could run arbitrary code in the context of the current user.

CVE-2020-1045 Vulnerabilità di bypass della funzionalità di sicurezza di Microsoft ASP.NET Core CVE-2020-1045 Microsoft ASP.NET Core Security Feature Bypass Vulnerability

Esiste una vulnerabilità di bypass della funzionalità di sicurezza nel modo in cui Microsoft ASP.NET Core analizza i nomi dei cookie codificati.A security feature bypass vulnerability exists in the way Microsoft ASP.NET Core parses encoded cookie names. 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.The ASP.NET Core cookie parser decodes entire cookie strings which could allow a malicious attacker to set a second cookie with the name being percent encoded.


Release Notes Icon Visual Studio 2019 versione 16.0.17Visual Studio 2019 version 16.0.17

Data di rilascio: 11 agosto 2020released August 11, 2020

Problema risolto nella versione 16.0.17Issue fixed in 16.0.17

Avviso di sicurezza per la versione 16.0.17Security Advisory Notice for 16.0.17

CVE-2020-1597 Vulnerabilità Denial Of Service ASP.NET Core CVE-2020-1597 ASP.NET Core Denial of Service Vulnerability

Esiste una vulnerabilità Denial Of Service quando ASP.NET Core gestisce le richieste Web in modo non corretto.A denial of service vulnerability exists when ASP.NET Core improperly handles web requests. Un utente malintenzionato potrebbe sfruttare questa vulnerabilità e causare un attacco Denial of Service contro un'applicazione Web ASP.NET Core.An attacker who successfully exploited this vulnerability could cause a denial of service against an ASP.NET Core web application. La vulnerabilità può essere sfruttata da remoto, senza autenticazione.The vulnerability can be exploited remotely, without authentication.


Release Notes Icon Visual Studio 2019 versione 16.0.16Visual Studio 2019 version 16.0.16 New Release icon

Data di rilascio: 14 luglio 2020released July 14, 2020

Problemi risolti nella versione 16.0.16Issues fixed in 16.0.16

Avviso di sicurezza per la versione 16.0.16Security Advisory Notice for 16.0.16

CVE-2020-1393--1232 Vulnerabilità di elevazione dei privilegi del servizio dell'agente di raccolta standard dell'hub di diagnostica CVE-2020-1393 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

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.An elevation of privilege vulnerability exists when the Windows Diagnostics Hub Standard Collector Service fails to properly sanitize input, leading to an unsecure library-loading behavior.

CVE-2020-1416 Vulnerabilità di elevazione dei privilegi di Visual Studio CVE-2020-1416 Visual Studio Elevation of Privilege Vulnerability

Esiste una vulnerabilità di elevazione dei privilegi in Visual Studio durante il caricamento delle dipendenze software.An elevation of privilege vulnerability exists in Visual Studio when it loads software dependencies.

CVE-2020-1147 Vulnerabilità Denial Of Service .NET Core CVE-2020-1147 .NET Core Denial of Service Vulnerability

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.A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to an ASP.NET Core application, or other application that parses certain types of XML. L'aggiornamento della sicurezza risolve la vulnerabilità limitando i tipi che possono essere presenti nel payload XML.The security update addresses the vulnerability by restricting the types that are allowed to be present in the XML payload.


Release Notes Icon Visual Studio 2019 versione 16.0.15Visual Studio 2019 version 16.0.15 New Release icon

Data di rilascio: 09 giugno 2020released June 09, 2020

Problemi risolti nella versione 16.0.15Issues fixed in 16.0.15

Avviso di sicurezza per la versione 16.0.15Security Advisory Notice for 16.0.15

CVE-2020-1108 / CVE-2020-1108Vulnerabilità Denial Of Service .NET Core CVE-2020-1108 / CVE-2020-1108.NET Core Denial of Service Vulnerability

Per risolvere in modo completo CVE-2020-1108, Microsoft ha rilasciato aggiornamenti per .NET Core 2.1 e .NET Core 3.1.To comprehensively address CVE-2020-1108, Microsoft has released updates for .NET Core 2.1 and .NET Core 3.1. I clienti che usano una di queste versioni di .NET Core devono installare la versione più recente di .NET Core.Customers who use any of these versions of .NET Core should install the latest version of .NET Core. Vedere le note sulla versione per i numeri di versione più recenti e istruzioni per l'aggiornamento di .NET Core.See the Release Notes for the latest version numbers and instructions for updating .NET Core.

CVE-2020-1202 / CVE-2020-1203 Vulnerabilità di elevazione dei privilegi del servizio dell'agente di raccolta standard dell'hub di diagnostica CVE-2020-1202 / CVE-2020-1203 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

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.An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector or the Visual Studio Standard Collector fails to properly handle objects in memory.

CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 Vulnerabilità di elevazione dei privilegi del servizio dell'agente di raccolta standard dell'hub di diagnostica CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

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 fileAn elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector Service improperly handles file operations


Release Notes Icon Visual Studio 2019 versione 16.0.14Visual Studio 2019 version 16.0.14

Data di rilascio: 12 maggio 2020released May 12, 2020

Problemi risolti nella versione 16.0.14Issues fixed in 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.Added a change that enables Enterprise IT administrators and deployment engineers to configure tools like Microsoft Update client & SCCM to determine applicability of VS2019 16.0 updates hosted on Microsoft Update Catalog & WSUS.

Avviso di sicurezza per la versione 16.0.14Security Advisory Notice for 16.0.14

CVE-2020-1108 Vulnerabilità Denial Of Service .NET Core CVE-2020-1108 .NET Core Denial of Service Vulnerability

Un utente malintenzionato non autenticato remoto potrebbe sfruttare questa vulnerabilità inviando richieste appositamente predisposte all'applicazione .NET Core.A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the .NET Core application. L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui l'applicazione Web .NET Core gestisce le richieste Web.The security update addresses the vulnerability by correcting how the .NET Core web application handles web requests.


Release Notes Icon Visual Studio 2019 versione 16.0.13Visual Studio 2019 version 16.0.13

Data di rilascio: 14 aprile 2020released April 14, 2020

Avviso di sicurezza per la versione 16.0.13Security Advisory Notice for 16.0.13

CVE-2020-0899 Vulnerabilità di elevazione dei privilegi in Microsoft Visual Studio CVE-2020-0899 Microsoft Visual Studio Elevation of Privilege Vulnerability

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.An elevation of privilege vulnerability exists when Microsoft Visual Studio updater service improperly handles file permissions. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe sovrascrivere contenuto di file arbitrario nel contesto di sicurezza del sistema locale.An attacker who successfully exploited this vulnerability could overwrite arbitrary file content in the security context of the local system.

CVE-2020-0900 Vulnerabilità di elevazione dei privilegi del servizio di installazione delle estensioni di Visual Studio CVE-2020-0900 Visual Studio Extension Installer Service Elevation of Privilege Vulnerability

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.An elevation of privilege vulnerability exists when the Visual Studio Extension Installer Service improperly handles file operations. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eliminare file in posizioni arbitrarie con autorizzazioni elevate.An attacker who successfully exploited the vulnerability could delete files in arbitrary locations with elevated permissions.

CVE-2020-5260 Vulnerabilità di perdita delle credenziali in Git per Visual Studio a causa di convalida insufficiente degli URL CVE-2020-5260 Git for Visual Studio Credential Leak Vulnerability due to insufficient validation on URLs

Esiste una vulnerabilità di perdita delle credenziali quando gli URL creati appositamente vengono analizzati e inviati ai programmi di supporto per le credenziali.A credential leak vulnerability exists when specially crafted URLs are parsed and sent to credential helpers. Questa condizione può portare all'invio di credenziali all'host errato.This can lead to credentials being sent to the wrong host.


Release Notes Icon Visual Studio 2019 versione 16.0.12Visual Studio 2019 version 16.0.12

Data di rilascio: 10 marzo 2020released March 10, 2020

Problemi risolti nella versione 16.0.12Issues fixed in 16.0.12

Avviso di sicurezzaSecurity Advisory Notice

CVE-2020-0793 & CVE-2020-0810 Vulnerabilità di elevazione dei privilegi del servizio dell'agente di raccolta standard dell'hub di diagnostica CVE-2020-0793 & CVE-2020-0810 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

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.An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector improperly handles file operations, or the Windows Diagnostics Hub Standard Collector Service fails to properly sanitize input.

CVE-2020-0884 Vulnerabilità di spoofing quando si crea il componente aggiuntivo di Outlook WebCVE-2020-0884 Spoofing vulnerability when creating Outlook Web -Add-in

Esiste una vulnerabilità di spoofing quando si crea un componente aggiuntivo di Outlook Web se è abilitata l'autenticazione a più fattoriA spoofing vulnerability exists when creating an Outlook Web-Addin if multi-factor authentication is enabled

CVE-2020-0789 Vulnerabilità di tipo Denial of Service del servizio di installazione delle estensioni di Visual StudioCVE-2020-0789 Visual Studio Extension Installer Service Denial of Service Vulnerability

Esiste una vulnerabilità di tipo Denial of Service quando il servizio di installazione delle estensioni di Visual Studio gestisce in modo errato i collegamenti reali.A denial of service vulnerability exists when the Visual Studio Extension Installer Service improperly handles hard links. Se un utente malintenzionato riesce a sfruttare questa vulnerabilità, il sistema di destinazione potrebbe smettere di rispondere.An attacker who successfully exploited the vulnerability could cause a target system to stop responding.


Release Notes Icon Visual Studio 2019 versione 16.0.11Visual Studio 2019 version 16.0.11

Data di rilascio: 14 gennaio 2020released January 14, 2020

Avviso di sicurezzaSecurity Advisory Notice

CVE-2020-0602 Vulnerabilità Denial Of Service ASP.NET CoreCVE-2020-0602 ASP.NET Core Denial of Service Vulnerability

Un utente malintenzionato non autenticato remoto potrebbe sfruttare questa vulnerabilità inviando richieste appositamente predisposte all'applicazione ASP.NET Core.A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the ASP.NET Core application. L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui l'applicazione Web ASP.NET Core gestisce le richieste Web.The security update addresses the vulnerability by correcting how the ASP.NET Core web application handles web requests.

CVE-2020-0603 Vulnerabilità di esecuzione remota del codice di ASP.NET CoreCVE-2020-0603 ASP.NET Core Remote Code Execution Vulnerability

Un utente malintenzionato non autenticato remoto potrebbe sfruttare questa vulnerabilità inviando richieste appositamente predisposte all'applicazione ASP.NET Core.A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the ASP.NET Core application. L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui l'applicazione Web ASP.NET Core gestisce la memoria.The security update addresses the vulnerability by correcting how the ASP.NET Core web application handles in memory.


Release Notes Icon Visual Studio 2019 versione 16.0.10Visual Studio 2019 version 16.0.10

Data di rilascio: 10 dicembre 2019released December 10, 2019

Problemi risolti nella versione 16.0.10Issues fixed in 16.0.10

Avviso di sicurezzaSecurity Advisory Notice

CVE-2019-1349 Vulnerabilità di esecuzione remota di Git per Visual Studio a causa di restrizioni troppo permissive per i nomi dei moduli secondariCVE-2019-1349 Git for Visual Studio Remote Excecution Vulnerability due to too lax restrictions on submodule names

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.A remote code execution vulnerability exists when Git runs into collisions of submodule names for directories of sibling submodules. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire codice da remoto nel computer di destinazione.An attacker who successfully exploited this vulnerability could remote execute code on the target machine. 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.The security update addresses the vulnerability by taking a new version of Git for Windows which requires the directory for the submodules’ clone to be empty.

CVE-2019-1350 Vulnerabilità di esecuzione remota di Git per Visual Studio a causa di virgolette non corrette per gli argomenti della riga di comandoCVE-2019-1350 Git for Visual Studio Remote Excecution Vulnerability due to incorrect quoting of command-line arguments

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.A remote code execution vulnerability exists when Git interprets command-line arguments with certain quoting during a recursive clone in conjunction with SSH URLs. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire codice da remoto nel computer di destinazione.An attacker who successfully exploited this vulnerability could remote execute code on the target machine. L'aggiornamento della sicurezza risolve la vulnerabilità con una nuova versione di Git per Windows che corregge il problema.The security update addresses the vulnerability by taking a new version of Git for Windows which fixes the issue.

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 clonazioneCVE-2019-1351 Git for Visual Studio Arbitrary File Overwrite Vulnerability due to usage of non-letter drive names during clone

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.An arbitrary file overwrite vulnerability exists in Git when non-letter drive names bypass safety checks in git clone. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe scrivere in file arbitrari nel computer di destinazione.An attacker who successfully exploited this vulnerability could write to arbitrary files on the target machine. L'aggiornamento della sicurezza risolve la vulnerabilità con una nuova versione di Git per Windows che corregge il problema.The security update addresses the vulnerability by taking a new version of Git for Windows which fixes the issue.

CVE-2019-1352 Vulnerabilità di esecuzione remota di Git per Visual Studio a causa del mancato riconoscimento dei flussi dei dati alternativi NTFSCVE-2019-1352 Git for Visual Studio Remote Excecution Vulnerability due to unawareness of NTFS Alternate Data Streams

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.A remote code execution vulnerability exists in Git when cloning and writing to .git/ directory via NTFS alternate data streams. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire codice da remoto nel computer di destinazione.An attacker who successfully exploited this vulnerability could remote execute code on the target machine. L'aggiornamento della sicurezza risolve la vulnerabilità con una nuova versione di Git per Windows che riconosce i flussi dei dati alternativi NTFS.The security update addresses the vulnerability by taking a new version of Git for Windows which has been made aware of NTFS alternate data streams.

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 rovesciateCVE-2019-1354 Git for Visual Studio Arbitrary File Overwrite Vulnerability due to not refusing to write out tracked files containing backslashes

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.An arbitrary file overwrite vulnerability exists in Git when tree entries with backslashes and malicious symlinks could break out of the work tree. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe scrivere in file arbitrari nel computer di destinazione.An attacker who successfully exploited this vulnerability could write to arbitrary files on the target machine. L'aggiornamento della sicurezza risolve la vulnerabilità con una nuova versione di Git per Windows che non consente l'utilizzo di barre rovesciate.The security update addresses the vulnerability by taking a new version of Git for Windows which does not allow this usage of backslashes.

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 ricorsiviCVE-2019-1387 Git for Visual Studio Remote Execution Vulnerability due to too lax validation of submodule names in recursive clones

Esiste una vulnerabilità di esecuzione di codice remota in Git durante la clonazione ricorsiva con moduli secondari.A remote code execution vulnerability exists in Git when cloning recursively with submodules. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eseguire codice da remoto nel computer di destinazione.An attacker who successfully exploited this vulnerability could remote execute code on the target machine. 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.The security update addresses the vulnerability by taking a new version of Git for Windows which tightens validation of submodule names.

CVE-2019-1486 Vulnerabilità del reindirizzamento URL dell'estensione Live ShareCVE-2019-1486 Live Share extension URL redirection vulnerability

È 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.A spoofing vulnerability was detected in the Visual Studio Live Share extension, when a guest connected to a Live Share session was redirected to an arbitrary URL specified by the session host. 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.An attacked would have been able to successfully exploit this vulnerability and cause the guest's computer to open a browser and navigate to a malicious URL without explicit consent. Questo faceva parte della funzionalità "server condiviso" di Live Share che consentiva l'inoltro automatico delle porte durante una sessione di Live Share attiva.This was part of the "Shared Server" feature of Live Share that allowed auto port-forwarding during an active Live Share session. L'aggiornamento più recente risolve questa vulnerabilità richiedendo il consenso al guest di Live Share prima di passare all'URL specificato dall'host.The latest update addresses this vulnerability by promopting the Live Share guest from consent prior to browsing the host-specified URL.


Release Notes Icon Visual Studio 2019 versione 16.0.9Visual Studio 2019 version 16.0.9

Data di rilascio: 15 ottobre 2019released October 15, 2019

Avviso di sicurezzaSecurity Advisory Notice

CVE-2019-1425 Vulnerabilità di elevazione dei privilegi per i pacchetti NPM (pubblicato il 12 novembre 2019)CVE-2019-1425 NPM Package Elevation of Privilege Vulnerability (published November 12, 2019)

Esiste una vulnerabilità di elevazione dei privilegi quando Visual Studio non riesce a convalidare correttamente collegamenti reali durante l'estrazione dei file archiviati.An elevation of privilege vulnerability exists when Visual Studio fails to properly validate hardlinks when extracting archived files. 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.The vulnerabilities were introduced by NPM packages used by Visual Studio as described in the following two NPM advisories: npmjs.com/advisories/803 and npmjs.com/advisories/886. Le versioni aggiornate di questi pacchetti NPM sono incluse in questa versione di Visual Studio.The updated versions of these NPM packages were included in this version of Visual Studio.


Release Notes Icon Visual Studio 2019 versione 16.0.8Visual Studio 2019 version 16.0.8

Data di rilascio: 10 settembre 2019released September 10, 2019

Problemi risolti in Visual Studio 2019 versione 16.0.8Issues fixed in Visual Studio 2019 version 16.0.8

Avviso di sicurezzaSecurity Advisory Notice

CVE-2019-1232: vulnerabilità di elevazione dei privilegi del servizio dell'agente di raccolta standard dell'hub di diagnosticaCVE-2019-1232 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

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.An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector Service improperly impersonates certain file operations. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe ottenere privilegi elevati.An attacker who successfully exploited this vulnerability could gain elevated privileges. Un utente malintenzionato con accesso senza privilegi a un sistema vulnerabile potrebbe riuscire a sfruttare questa vulnerabilità.An attacker with unprivileged access to a vulnerable system could exploit this vulnerability. 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.The security update addresses the vulnerability by ensuring the Diagnostics Hub Standard Collector Service properly impersonates file operations.


Release Notes Icon Visual Studio 2019 versione 16.0.7Visual Studio 2019 version 16.0.7

Data di rilascio: 13 agosto 2019released August 13, 2019

Problemi risolti in Visual Studio 2019 versione 16.0.7Issues fixed in Visual Studio 2019 version 16.0.7

Avviso di sicurezzaSecurity Advisory Notice

CVE-2019-1211 Vulnerabilità dell'elevazione dei privilegi in Git per Visual StudioCVE-2019-1211 Git for Visual Studio Elevation of Privilege Vulnerability

È 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.An elevation of privilege vulnerability exists in Git for Visual Studio when it improperly parses configuration files. Un utente malintenzionato può sfruttare efficacemente questa vulnerabilità ed eseguire codice nel contesto di un altro utente locale.An attacker who successfully exploited the vulnerability could execute code in the context of another local user. 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.To exploit the vulnerability, an authenticated attacker would need to modify Git configuration files on a system prior to a full installation of the application. L'utente malintenzionato deve quindi convincere un altro utente nel sistema a eseguire specifici comandi Git.The attacker would then need to convince another user on the system to execute specific Git commands. L'aggiornamento risolve il problema cambiando le autorizzazioni necessarie per modificare i file di configurazione.The update addresses the issue by changing the permissions required to edit configuration files.

**CVE-2019-1301: vulnerabilità Denial Of Service in .NET Core**CVE-2019-1301: Denial of Service Vulnerability in .NET Core

Esiste una vulnerabilità Denial Of Service quando .NET Core gestisce le richieste in modo non corretto.A denial of service vulnerability exists when .NET Core improperly handles web requests. Un utente malintenzionato potrebbe sfruttare questa vulnerabilità e causare un attacco Denial of Service contro un'applicazione Web .NET Core.An attacker who successfully exploited this vulnerability could cause a denial of service against a .NET Core web application. La vulnerabilità può essere sfruttata da remoto, senza autenticazione.The vulnerability can be exploited remotely, without authentication.

L'aggiornamento risolve la vulnerabilità correggendo il modo in cui l'applicazione Web .NET Core gestisce le richieste Web.The update addresses the vulnerability by correcting how the .NET Core web application handles web requests.


Release Notes Icon Visual Studio 2019 versione 16.0.6Visual Studio 2019 version 16.0.6

Data di rilascio: 09 luglio 2019released July 9, 2019

Problemi risolti in Visual Studio 2019 versione 16.0.6Issues fixed in Visual Studio 2019 version 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.Fixed narrator support on systems running on Windows 10 version 1903 or with .NET 4.8 installed.

Avviso di sicurezzaSecurity Advisory Notice

CVE-2019-1075 Vulnerabilità di spoofing in ASP.NET CoreCVE-2019-1075 ASP.NET Core Spoofing Vulnerability

Gli aggiornamenti di .NET Core sono stati rilasciati oggi e sono inclusi in questo aggiornamento di Visual Studio..NET Core updates have released today and are included in this Visual Studio update. Questa versione risolve problemi di protezione e altri problemi importanti.This release addresses security and other important issues. I dettagli sono disponibili nelle Note sulla versione di .NET Core.Details can be found in the .NET Core release notes.

CVE-2019-1077 Vulnerabilità dell'estensione durante l'aggiornamento automatico di Visual StudioCVE-2019-1077 Visual Studio Extension Auto Update Vulnerability

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.An elevation of privilege vulnerability exists when the Visual Studio Extension auto-update process improperly performs certain file operations. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eliminare file in posizioni arbitrarie.An attacker who successfully exploited this vulnerability could delete files in arbitrary locations. Per sfruttare questa vulnerabilità, un utente malintenzionato deve ottenere l'accesso senza privilegi a un sistema vulnerabile.To exploit this vulnerability, an attacker would require unprivileged access to a vulnerable system. L'aggiornamento della sicurezza risolve la vulnerabilità proteggendo le posizioni in cui l'aggiornamento automatico dell'estensione di Visual Studio esegue operazioni sui file.The security update addresses the vulnerability by securing locations the Visual Studio Extension auto-update performs file operations in.

CVE-2019-1113 La deserializzazione XOML WorkflowDesigner consente l'esecuzione di codiceCVE-2019-1113 WorkflowDesigner XOML deserialization allows code execution

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.A XOML file referencing certain types could cause random code to be executed when the XOML file is opened in Visual Studio. Ora è stata implementata una restrizione sui tipi che possono essere usati nei file XOML.There is now a restriction on what types are allowed to be used in XOML files. Se viene aperto un file XOML contenente uno dei tipi che non sono più autorizzati, un messaggio spiega che il tipo non è autorizzato.If a XOML file containing one of the newly unauthorized types is opened, a message is displayed explaining that the type is unauthorized.

Per altre informazioni, vedere https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.For further information, please refer to https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.


Release Notes Icon Visual Studio 2019 versione 16.0.5Visual Studio 2019 version 16.0.5

Data di rilascio: 11 giugno 2019released June 11, 2019

Problemi risolti in Visual Studio 2019 versione 16.0.5Issues fixed in Visual Studio 2019 version 16.0.5


Release Notes Icon Visual Studio 2019 versione 16.0.4Visual Studio 2019 version 16.0.4

Data di rilascio: 14 maggio 2019released May 14, 2019

Problemi risolti in Visual Studio 2019 versione 16.0.4Issues fixed in Visual Studio 2019 version 16.0.4

Avviso di sicurezzaSecurity Advisory Notice

CVE-2019-0727 Vulnerabilità di elevazione dei privilegi del servizio dell'agente di raccolta standard dell'hub di diagnosticaCVE-2019-0727 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

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.An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector Service improperly performs certain file operations. Un utente malintenzionato che riesce a sfruttare questa vulnerabilità potrebbe eliminare file in posizioni arbitrarie.An attacker who successfully exploited this vulnerability could delete files in arbitrary locations. Per sfruttare questa vulnerabilità, un utente malintenzionato deve ottenere l'accesso senza privilegi a un sistema vulnerabile.To exploit this vulnerability, an attacker would require unprivileged access to a vulnerable system. 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.The security update addresses the vulnerability by securing locations the Diagnostics Hub Standard Collector performs file operations in.


Release Notes Icon Visual Studio 2019 versione 16.0.3Visual Studio 2019 version 16.0.3

Data di rilascio: 30 aprile 2019released April 30, 2019

Novità in Visual Studio 2019 versione 16.0.3What's New in Visual Studio 2019 version 16.0.3

  • Visual Studio Tools per Kubernetes supporta ora la versione di Azure Dev Spaces più recente.Visual Studio Tools for Kubernetes now supports the latest Azure Dev Spaces.

Problemi risolti in Visual Studio 2019 versione 16.0.3Issues fixed in Visual Studio 2019 version 16.0.3


Release Notes Icon Visual Studio 2019 versione 16.0.2Visual Studio 2019 version 16.0.2

Data di rilascio: 18 aprile 2019released April 18, 2019

Problemi risolti in Visual Studio 2019 versione 16.0.2Issues fixed in Visual Studio 2019 version 16.0.2


Release Notes Icon Visual Studio 2019 versione 16.0.1Visual Studio 2019 version 16.0.1

Data di rilascio: 09 aprile 2019released April 09, 2019

Problemi risolti in Visual Studio 2019 versione 16.0.1Issues fixed in Visual Studio 2019 version 16.0.1


Release Notes Icon Visual Studio 2019Visual Studio 2019

Data di rilascio: 2 aprile 2019released April 02, 2019

Riepilogo delle novità in Visual Studio 2019Summary of What's New in Visual Studio 2019

Installazione diInstall

IDEIDE

  • Collaborazione con altri utenti grazie a Visual Studio Live Share, installato per impostazione predefinita.Collaborate with others using Visual Studio Live Share, which is installed by default. 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.Additional language support for C++, VB.NET, and Razor gives guests a solution view and sharing of source control diffs.
  • 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.Open code you recently worked on or start from one of the most commonly used flows like clone, open, or create a project through the new start window.
  • Creazione di nuovi progetti con un'esperienza di ricerca e filtri migliorati grazie a un nuovo elenco di modelli ordinati in base alla diffusione.Create new projects with an improved search experience and filters using the new list of templates sorted by popularity.
  • Maggiore disponibilità di spazio verticale per il codice e un aspetto moderno grazie a un set di nuove modifiche visuali nella shell.Have more vertical room for your code and a modernized look and feel through a set of new visual changes in the 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.View a sharper version of your IDE regardless of your display configuration and/or scaling, as we have improved support for per monitor awareness.
  • Funzionalità di ricerca migliorate in Visual Studio per menu, comandi, opzioni e componenti installabili.Use an improved search capability in Visual Studio for menus, commands, options, and installable components.
  • Informazioni rapide sull'integrità del file di codice tramite un indicatore per il documento.Quickly understand your code file's 'health' with a document indicator. Esecuzione e configurazione vengono realizzate tramite la pulizia del codice avviata con un solo clic dall'indicatore.Run and configure through a one-click code cleanup from the indicator.
  • Semplice gestione delle funzionalità di anteprima per cui è stato dato il consenso esplicito in una nuova pagina appropriata nella finestra di dialogo Opzioni.Easily manage the preview features you are opted in to with a new Preview Features page in the Options dialog.
  • Creazione di nuovi progetti con miglioramenti nella ricerca basata su tag ed elenco "Modelli di progetto recenti" facilmente accessibile.Create new projects with improvements in tag-based search and an easily accessible "Recent project templates" list.
  • Creazione di nuovi elementi direttamente dalla ricerca di Visual Studio e individuazione più rapida dei risultati con pertinenza migliore.Create new items directly from Visual Studio Search and find results faster with improved relevance.
  • Nuova esperienza di gestione delle notifiche per restare sempre aggiornati su informazioni importanti, ad esempio le richieste di Visual Studio Live Share.Stay informed of important information, such as Visual Studio Live Share requests, with a new notifications experience.
  • 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.Save a collection of code cleanup fixers as a profile to easily select the fixers you want run during code cleanup.
  • Nuovi refactoring e correzioni del codice per .NET.Trigger new .NET refactoring and code fixes.
  • Configurazione semplificata dei progetti .NET Core con file di progetto di prima classe.Configure .NET Core projects more easily with first-class project files.
  • Visualizzazione dello stato delle estensioni con tag Anteprima, A pagamento e Versione di prova nella finestra di dialogo Estensioni e aggiornamenti.See the status of your extensions with Preview, Paid, and Trial tags in the Extensions and Updates dialog.
  • Controllo e configurazione delle funzionalità di anteprima da attivare, in quanto in questa anteprima sono state ripristinate le impostazioni predefinite.Check and configure which Preview features you want active since the defaults have been reset in this Preview.
  • Possibilità di mantenere le estensioni aggiornate escludendo determinate API nelle finestre di test, che sono state contrassegnate come deprecate in questa versione.Keep your extensions up-to-date by excluding certain Test Window APIs that have been marked as deprecated in this release.
  • Accesso, esplorazione, clonazione con un clic o connessione ai repository ospitati da Azure DevOps tramite la finestra iniziale.Sign in, browse, and one-click clone or connect to your hosted repositories from Azure DevOps through the start window.
  • Installazione delle estensioni per gli altri host di controllo del codice sorgente per visualizzare i repository di proprietà dell'utente e dell'organizzazione.Install extensions for other source control hosts to view repositories owned by you and your organization.
  • 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à.Experience an improved Blue theme experience that addresses feedback by dialing down the luminosity, improving overall contrast and addressing other usability issues.
  • Applicazione delle preferenze di stile per il codice dalla riga di comando con lo strumento globale dotnet format.Apply code style preferences from the command-line with the dotnet format global tool.
  • MSBuild e Visual Studio ora fanno riferimento a .NET Framework 4.7.2 per impostazione predefinita.MSBuild and Visual Studio now target .NET Framework 4.7.2 by default.
  • Rimozione di alcune funzionalità correlate a Servizio app di Azure da Esplora server. In Cloud Explorer sono invece disponibili funzionalità equivalenti.We have removed Azure App Service-related features from Server Explorer; equivalent functionality is instead available in Cloud Explorer.

PrestazioniPerformance

Debug e diagnostica generaliGeneral Debugging and Diagnostics

  • 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.Search keywords within the Watch, Autos, and Locals windows while debugging to improve your ability to find objects or values.
  • Visualizzazione di un elenco a discesa di identificatori di formato nelle finestre Espressione di controllo, Auto e Variabili locali quando si esaminano i dati.View a dropdown of format specifiers in the Watch, Autos, and Locals windows when inspecting data.
  • Uso di un visualizzatore personalizzato, ora compatibile con .NET Core.Use a custom visualizer, now compatible with .NET Core.
  • Debug di applicazioni di grandi dimensioni con elevate quantità di moduli e file PDB.Debug very large applications with large numbers of modules and PDBs.
  • Avvio di Google Chrome con argomenti personalizzati e debug delle applicazioni JavaScript, il tutto all'interno dell'IDE di Visual Studio.Launch Google Chrome with custom arguments and debug your JavaScript applications all within the Visual Studio IDE.
  • Uso dell'evidenziazione del percorso critico per gli strumenti Utilizzo CPU e DotNet Object Allocation (Allocazione di oggetti .NET) nel profiler delle prestazioni.Use Hot Path Highlighting for CPU and DotNet Object Allocation tools in the Performance Profiler.
  • Interruzione quando il valore della proprietà di un oggetto specifico cambia nelle applicazioni .NET Core 3.0+ che usano i punti di interruzione dei dati, una funzionalità che in precedenza era disponibile esclusivamente in C++.Break when a specific object's property value changes in .NET Core 3.0+ applications using data breakpoints, a feature that was originally exclusive to C++.
  • Dalla Preview 1, l'interfaccia utente è stata aggiornata e semplificata per eseguire ricerche nelle finestre Auto, Variabili locali ed Espressioni di controllo.Since Preview 1, we have updated the UI for searching in the Autos, Locals, and Watch windows with a simpler interface. 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.The Search Deeper function has been changed to a dropdown so you can quickly select how deep you want your initial and subsequent searches to be.

Controllo del codice sorgente e Team ExplorerSource Control and 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.Temporarily store changes so you can work on another task by using Team explorer's Git tools support for 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.Check out the optional extension available on the Visual Studio Market Place, Pull Requests for Visual Studio, that integrates Pull Request reviews into 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.Use the new Azure DevOps work item experience that focuses on developer workflows, including user-specific work item views, creating a branch from a work item, searching for work items with #mentions, and inline editing.

EstendibilitàExtensibility

  • Uso di un singolo SDK unificato di Visual Studio nel pacchetto NuGet Microsoft.VisualStudio.SDK.Use a single, unified Visual Studio SDK in the NuGet package Microsoft.VisualStudio.SDK.
  • Possibilità di sfruttare l'aggiornamento del progetto VSIX che ora include una classe AsyncPackage.Take advantage of our update to the VSIX Project to now include an AsyncPackage.
  • Possibilità di provare il nuovo modello di progetto VSIX vuoto aggiunto.Experiment with a new Empty VSIX Project template that we have added.
  • Nella finestra di dialogo Estensioni e aggiornamenti è ora indicato se un'estensione è gratuita, a pagamento o una versione di valutazione gratuita.Know if an extension is Free, Paid, or Trial, as it is now indicated inside the Extensions and Updates dialog.

Linguaggi di programmazioneProgramming Languages

C#C#

Accedere all'anteprima delle funzionalità del linguaggio 8.0 supportate dal compilatore C#, tra cui:Experience a preview of the 8.0 language features that the C# compiler now supports, including:

  • Tipi di riferimento nullable: Quando la funzionalità è attivata, ad esempio con #nullable enable o a livello di progetto con <NullableContextOptions>enable</NullableContextOptions>, i tipi di riferimento vengono trattati come nullable se annotati con ? e in caso contrario come non nullable.Nullable reference types: When the feature is turned on (for example, with #nullable enable or at the project-level with <NullableContextOptions>enable</NullableContextOptions>), reference types are treated as nullable if annotated with ?, and as non-nullable otherwise. Il compilatore quindi analizza il flusso di valori null e segnala eventuali utilizzi non sicuri.The compiler then analyzes where null values flow and warns about likely unsafe usages.
  • Espressioni switch: Offre semantica di tipo switch in un contesto di espressione.switch expressions: Offers switch-like semantics in an expression context.
  • Criteri di ricerca ricorsivi: I nuovi criteri consentono di testare campi/proprietà ed elementi posizionali, da tuple o decostruzione.Recursive pattern matching: New patterns allow testing fields/properties and positional elements (from tuples or deconstruction).
  • Supporto per i tipi Range e Index usato in CoreFX per il sezionamento, tra cui la sintassi dei valori letterali x..y per gli intervalli.Support for Range and Index types being used in CoreFX for slicing, including the x..y literal syntax for ranges.
  • I flussi asincroni rappresentati da IAsyncEnumerable<T> possono essere enumerati in modo asincrono con await foreach e creati con metodi iterator async IAsyncEnumerable<T>.Asynchronous streams represented by IAsyncEnumerable<T> can be enumerated asynchronously with await foreach and can be produced with async IAsyncEnumerable<T> iterator methods.
  • Dichiarazioni using: Eliminare alla fine del blocco corrente, senza aumentare il livello di annidamento.using declarations: Dispose at the end of the current block, without increasing the level of nesting. Gli struct ref possono essere eliminati implementando un metodo Dispose() pubblico.ref structs can be disposed by implementing a public Dispose() method.
  • Funzioni locali static: Le funzioni locali contrassegnate con static non possono fare riferimento a this o a variabili nelle funzioni contenitore.static local functions: Local functions marked with static cannot reference this or variables in the enclosing functions.
  • Funzioni locali ed espressioni lambda possono ora dichiarare parametri e variabili locali che consentono di occultare i nomi delle variabili delle funzioni contenitore.Local functions and lambdas can now declare parameters and locals that shadow names of variables of the enclosing functions.
  • Assegnazione null-coalescing: x ??= y; assegna solo y a x se x era null.Null-coalescing assignment: x ??= y; only assigns y to x if x was null.

Altre informazioni sono disponibili nella panoramica di C# 8.0 di Mads.Find out more in Mads' overview of C# 8.0.

Vedere lo stato delle funzionalità del linguaggio C# e le modifiche che causano un'interruzione per maggiori dettagli.See the C# language feature status and breaking changes for more details.

Inoltre, è possibile usare funzionalità del linguaggio C# più moderne in Visual Studio per impostazione predefinita.Additionally, you can use more modern C# language features in Visual Studio by default.

C++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.Save time when writing C++ and XAML code by using Visual Studio IntelliCode, an optional extension that gives AI-assisted recommendations for your code.
  • Avvisi di analisi codice all'interno dell'editor.Experience in-editor code analysis warnings. L'analisi codice viene eseguita automaticamente in background e gli avvisi vengono visualizzati come linee a zigzag di colore verde.Code analysis runs automatically in the background and warnings display as green squiggles.
  • Nuova barra dei modelli, che usa l'interfaccia utente Finestra di anteprima e supporta i modelli annidati.Try the new Template Bar, which uses the Peek Window UI and supports nested templates.
  • Nuova implementazione aggiornata del controllo dei profili di durata C++.Run the new, updated implementation of the C++ Lifetime profile checker.
  • Configurazione dei progetti CMake tramite il nuovo editor delle impostazioni di CMake, che offre un'alternativa a CMakeSettings.json.Configure your CMake projects using the new CMake Settings Editor, which provides an alternative to 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.Try out a host of backend improvements including OpenMP SIMD vectorization, link-time speedups, and more aggressive inlining.
  • Apertura di cache di CMake esistenti generate da strumenti esterni, come CMakeGUI, o sistemi di meta-compilazione personalizzati.Open existing CMake caches generated by external tools, such as CMakeGUI, or customized meta-build systems.
  • Miglioramento dell'analisi con /Qspectre per fornire assistenza per la mitigazione per Spectre variante 1 (CVE-2017-5753).Improve analysis with /Qspectre for providing mitigation assistance for Spectre Variant 1 (CVE-2017-5753). Per altre informazioni, vedere il post di blog del team di Visual C++.For more information, see the Visual C++ Team Blog post.
  • 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.Quickly switch between your previous sample arguments now that the Template Bar for Template IntelliSense has a Most Recently Used dropdown.
F#F#
  • F# 4.6 è stata rilasciata insieme ad altri miglioramenti del compilatore.F# 4.6 is released, along with various other compiler improvements.
  • Miglioramenti delle prestazioni per soluzioni di dimensioni maggiori e diverse correzioni di bug per gli strumenti F# ed F#.Experience performance improvements for larger solutions and various bug fixes for F# and the F# tools.
  • Informazioni su parte dello straordinario lavoro svolto da collaboratori open source per il linguaggio e gli strumenti F#.Learn about some of the awesome work done by open source contributors to the F# language and tools.
JavaScript/TypeScriptJavaScript/TypeScript
PythonPython
  • Semplificazione dell'aggiunta di ambienti virtuali e Conda tramite la finestra di dialogo per l'aggiunta di ambienti di Python.Easily add Python virtual and conda environments using the Python Add Environment dialog.
  • 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.Work more easily with Python environments, including improved support for Open Folder workspaces using a new Python environment selector toolbar.
  • Creazione di sessioni di Visual Studio Live Share e collaborazione al codice Python con altri utenti di Visual Studio.Create Visual Studio Live Share sessions and collaborate on Python code with other Visual Studio users.

Tecnologie WebWeb Technologies

Strumenti per contenitoriContainer Tools

Sviluppo per dispositivi mobili con XamarinMobile Development with Xamarin

Piattaforma UWP (Universal Windows Platform)Universal Windows Platform (UWP)

  • Conservazione di commenti, spaziature, spazi dei nomi e altre modifiche del testo quando si apportano modifiche dalla finestra di progettazione.Preserve comments, spacing, namespaces, and any other text changes when making edits from the designer. La finestra di progettazione del manifesto di pacchetto mantiene ora una rigorosa fedeltà alle modifiche XML apportate al file Package.appxmanifest.The package manifest designer now maintains strict fidelity to xml changes in the Package.appxmanifest file.
  • Uso del progetto Creazione pacchetti di applicazione Windows per i progetti .NET Core per la produzione di pacchetti MSIX.Use the Windows Application Packaging project for .NET Core projects to produce MSIX packages.
  • Uso della procedura guidata di creazione di pacchetti per gli invii diretti in Microsoft Store.Use the Package Creation Wizard for direct Microsoft Store submissions.
  • La distribuzione in dispositivi Windows Mobile non è più supportata in Visual Studio 2019.Deployment to Windows Mobile devices is no longer supported 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".Attempts to deploy to a Windows 10 Mobile device will result in an error saying "Deployment to Windows Mobile devices is not supported in Visual Studio 2019". Se è necessario continuare a lavorare su un'applicazione per dispositivi Windows 10 Mobile, usare ancora Visual Studio 2017.If you need to continue working on an application for Windows 10 Mobile devices, continue to use Visual Studio 2017.

Strumenti di debug XAML:XAML Debugging Tools:

  • Modifica e continuazione per XAML ora supporta x:bind (UWP): Modifica e continuazione per XAML ora supporta la modifica di data binding creati con x:bind per i percorsi contenenti proprietà pubbliche, nomi di elemento, percorsi di proprietà indicizzati (raccolte), proprietà associate e proprietà cast.XAML Edit & Continue now supports x:bind (UWP): XAML Edit & Continue now supports editing data bindings created with x:bind for paths containing public properties, element name, indexed property paths (collections), attached properties, and cast properties. Altre modifiche non sono supportate.Other changes are not supported. 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.This enhancement is available to any app where the minimum and maximum versions target Windows 10 SDK version 1809 (build 10.0.17763) or higher. (Nota: La funzionalità Modifica e continuazione per XAML è ora nota come Ricaricamento rapido XAML a partire da Visual Studio 2019 Update 2+).(Note: XAML Edit & Continue is now known as XAML Hot Reload starting with Visual Studio 2019 Update 2+).

SQL Server Data ToolsSQL Server Data Tools

  • Aggiornamento di SSDT e DacFX che ora include il supporto delle regole di confronto UTF-8.Experience an updated SSDT and DacFX that now includes UTF-8 collation support.

Dettagli sulle novità in Visual Studio 2019Details of What's New in Visual Studio 2019

InstallazioneInstall

  • È ora possibile scegliere come installare gli aggiornamenti di Visual Studio.You can now choose how to install Visual Studio updates. 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.The default mode is ‘Download all, then install’ which allows you to continue using Visual Studio while updates are being downloaded. Se si seleziona questa modalità, sarà necessario completare l'installazione aprendo il programma di installazione di Visual Studio e quindi scegliendo Continua.Note that, if you select ‘Download all, then install’, you’ll need to finish up the installation by opening the Visual Studio Installer and selecting Continue.
  • Gli aggiornamenti di Visual Studio vengono ora scaricati in background.Visual Studio updates will now be downloaded in the background. Questi download vengono eseguiti solo quando il computer è inattivo.These downloads will occur only when your machine is idle. Al termine del download, si riceverà una notifica all'interno di Visual Studio che indica che i file scaricati sono pronti per essere installati.When the downloads complete, you will get a notification inside Visual Studio that your download is now ready to install.
  • È ora possibile controllare la modalità di installazione degli aggiornamenti e scegliere se scaricare o meno gli aggiornamenti tramite il menu Strumenti > Opzioni, modificando le impostazioni nella pagina Aggiornamenti del prodotto.You can now control your update installation mode and whether to download updates or not through the Tools > Options menu by changing the settings on Product Updates page.
Product Update Options
*Opzioni per l'aggiornamento del prodotto**Product Update Options*

Finestra inizialeStart window

La nuova finestra iniziale offre un'esperienza semplificata che consente di visualizzare rapidamente il codice all'avvio di Visual Studio.The new start window provides a streamlined launch experience to help you quickly get to your code upon starting up Visual Studio.

  • Visualizzazione dei progetti e delle cartelle recenti e possibilità di aprirli con un solo clic.View your recent projects and folders, and open them with a single click. Aggiunta e rimozione di elementi dall'elenco usando il menu di scelta rapida.Pin and remove items from the list through the context menu.
  • 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.Clone or check out code by using any public or private git URL, which will also automatically open the folder in the 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.Sign in, browse, and one-click clone or connect to your hosted repositories from Azure DevOps or install extensions for other source control hosts to view repositories owned by you and your organization.
  • Ricerca nella condivisione di rete o nel disco locale di progetti, soluzioni o cartelle contenenti codice e aprirli nell'IDE.Browse your local disk or network share for projects, solutions, or any folders containing code, and open them in the IDE.
  • Selezione di un modello di progetto che offre un processo di scaffolding del codice per iniziare un nuovo progetto o una nuova soluzione.Select a project template that provides you with code scaffolding to help you get started with a new project or solution.
  • Ricerca di modelli di progetto in base a titolo, descrizione e tag o filtro in base a linguaggi, piattaforme e tipi di progetto disponibili.Search for project templates by their title, description, and tags or filter through available languages, platforms, and project types. 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.The default list shows all available templates, while a list of your top 10 recently used project templates appears on the left pane for quick access. Una procedura guidata di due pagine consente di concentrarsi su una decisione alla volta.A two-page wizard allows you to concentrate on one decision at a time.
Start window
*Nuova esperienza di finestra iniziale**New Start Window Experience*

Shell e piattaformaShell and platform

  • Identificazione rapida della versione di Visual Studio da aprire e usare grazie alla nuova icona migliorata del prodotto.Quickly spot which version of Visual Studio you're opening and using via the new, improved product icon. La nuova icona è anche più visibile su un'ampia varietà di sfondi.The new icon is also more visible against a variety of backgrounds.
  • 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à.Experience a modernized look and feel of Visual Studio with our refreshed blue theme that gives you a cleaner user interface while still meeting our accessibility standards.
  • Maggiore quantità di codice visualizzato, tramite modifiche che mirano a un aumento della compattezza e dello spazio verticale nell'IDE.See more of your code, through our changes that target compactness and reclaim vertical space in the IDE. La barra del titolo e la barra dei menu sono state unite, mantenendo tuttavia le funzionalità esistenti.We have combined the title bar and the menu bar while also preserving existing functionality.
  • Uso di Visual Studio come un'applicazione di sensibilità ai valori DPI per monitor grazie a una nuova impostazione sperimentale.Use Visual Studio as a Per-Monitor Awareness application through a new, experimental setting. 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.When on, this setting helps parts of Visual Studio, such as the shell and the editor, render more sharply regardless of your display configuration and/or scaling.
  • Esperienza di ricerca avanzata tra menu, comandi, opzioni e componenti installabili.Experience an enhanced search experience across menus, commands, options, and installable components. 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.Our new search now displays results dynamically, accommodates spelling errors, and provides relevant information (such as keyboard shortcuts) inside the search results.
Visual Studio Search with results
*Ricerca migliorata in Visual Studio**Enhanced Search in Visual Studio*
  • Visualizzazione delle informazioni sull'integrità associate con il file aperto attualmente grazie alla funzionalità di indicatore di integrità del documento.View health information associated with your currently open file through the Document Health Indicator feature.
Document Health Indicator with issues
*Indicatore di integrità del documento - problema nel documento**Document Health Indicator - issue in document*
Document Health Indicator with no issues
*Indicatore di integrità del documento - nessun problema**Document Health Indicator - no issues*
  • Uno sviluppatore C# può ora pulire rapidamente alcuni suggerimenti di codifica più comuni con la funzione di pulizia del codice.If you are a C# developer, you can quickly clean up some of the most common coding suggestions using Code Cleanup.
  • Selezione del set di correzioni da eseguire tramite la configurazione della pulizia del codice.Select the set of fixers you'd like to have run by configuring Code Cleanup.
Code Cleanup configuration dialog
*Configurazione della pulizia del codice**Configure Code Cleanup*
  • Visualizzazione del contenuto della cronologia degli Appunti tramite un menu di scelta rapida che estende Sequenza Appunti (CTRL + MAIUSC + V) .See the contents of your clipboard history via a context menu that extends the Clipboard Ring (Ctrl + Shift + V).
Clipboard Ring context menu
*Menu di scelta rapida di Sequenza Appunti**Clipboard Ring Context Menu*
  • L'esperienza di ricerca è stata migliorata in questi modi:We've improved your search experience by:
    • Aggiunta di filtri per menu, componenti e modelliAdding filters for Menus, Components, and Templates
    • Integrazione delle selezioni per la ricerca per fornire i risultati più rilevantiIncorporating your search selections to give you the most relevant search results
    • Possibilità di creare e aggiungere nuovi progetti/elementi alla soluzione direttamente dalla ricerca di Visual StudioEnabling you to create and add new projects/items to your solution directly from Visual Studio Search
  • 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).The improved Per-Monitor Awareness (PMA) experience is now turned on by default for users that meet the minimum set of requirements (.NET 4.8 Preview & and Windows 10 April 2018 Update or newer). 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.Tool windows such as Toolbox, Breakpoints, Watch, Locals, Autos & Call Stack have been converted to PMA and thus render sharply regardless of your display configuration and/or scaling.
  • La nuova esperienza di gestione delle modifiche include ora:A new notification experience adds:
    • Una nuova icona e un contatore sulla barra di statoA new icon and counter experience to the status bar
    • Un nuovo meccanismo di notifica di tipo avviso popupA new toast notification mechanism
    • Notifiche sugli aggiornamenti di Visual Studio e sulla scadenza delle licenze di Visual StudioVisual Studio Updates & Visual Studio licensing expiration notifications
  • 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à.A revised Blue theme experience that addresses feedback by dialing down the luminosity, improving contrast and addressing other usability issues.
  • Sono state migliorate le funzionalità di trascinamento delle finestre sfruttando lo spazio libero disponibile nell'area della barra degli strumenti come area trascinabile.Enhanced window-dragging capabilities by leveraging available free space in the toolbar region as a draggable region.
  • È 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.You can now save a collection of Code Cleanup fixers as a profile so you can quickly select the set of fixers you want run during Code Cleanup.
Visual Studio Code Cleanup Profiles
*Profili per la pulizia del codice di Visual Studio**Visual Studio Code Cleanup Profiles*
  • 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.We've added tags in the Extensions and Updates dialog to help you quickly understand whether an extension is in Preview, is a Paid extension, or is in a Trial period.
Extensions and Updates dialogs with tags
*Finestra di dialogo Estensioni e aggiornamenti con tag**Extensions and Updates dialogs with tags*
  • Il modo consigliato per implementare le descrizioni comandi dei dati in Visual Studio 2019 e versioni successive è ora IAsyncQuickInfoSourceProvider.The recommended way to implement data tooltips in Visual Studio 2019 and later is now IAsyncQuickInfoSourceProvider. Le API legacy per le descrizioni comandi delle informazioni rapide dell'editor IVsTextTipData e TextTipData sono deprecate in Visual Studio 2019 Preview 1.Legacy Editor Quick Info APIs IVsTextTipData and TextTipData are deprecated 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.The Editor Smart Tags (ISmartTag* family of interfaces in Microsoft.VisualStudio.Language.Intellisense namespace) have been deprecated in favor of the LightBulb API and are no longer supported starting with 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.The solution options Show advanced build configurations, Always show solution, and Save new projects when created have been removed due to low usage. Per tali impostazioni è stato specificato il valore predefinito True.These values have been set to their default value of True.
  • Consenso o rifiuto esplicito di determinate funzionalità di anteprima nella nuova pagina Funzionalità di anteprima in Strumenti > Opzioni > Ambiente > Funzionalità di anteprima.Opt in or out of certain preview features using the new Preview Features page found in Tools > Options > Environment > Preview Features.

PrestazioniPerformance

  • È stata aggiunta una nuova combinazione di tasti per la funzionalità Compila selezione per cartelle e soluzioni: CTRL+B.We have added a new shortcut for Build Selection for folders and solutions: Ctrl + B.
  • Apertura rapida delle soluzioni di grandi dimensioni caricando la soluzione senza caricare tutti i progetti.Quickly open large solutions by loading your solution with all projects unloaded. Non caricare i progettiDo not load projects
  • Scelta dei progetti da caricare nella soluzione aperta con i file di filtro della soluzione.Choose which projects to load on solution open with Solution Filter Files.
    • 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.Create a Solution Filter File by unloading projects you don't want opened automatically, right-clicking the solution, and selecting Save As Solution Filter. È quindi possibile usare il file di filtro per aprire la soluzione per usi successivi.You can then use the filter file to open the solution for subsequent uses. Filtri soluzioneSolution filters
  • È stato aggiunto un comando per la funzionalità Compila tutto per i file di CMake: CTRL+MAIUSC+B.We have added a command to Build All for CMake files: Ctrl + Shift + B.
  • Sono state migliorate le prestazioni di IntelliSense nei file C++ nei progetti CMake.We've improved IntelliSense performance in C++ files in CMake projects.
  • È stato aggiunto un comando per caricare le dipendenze da progetti scaricati ai menu contestuali per progetti e soluzioni.We've added a command to load unloaded project dependencies to the project and solution context menus.
  • Le notifiche con i suggerimenti per il miglioramento delle prestazioni di Visual Studio vengono mantenute in Controllo prestazioni, accessibile tramite Guida > Gestisci prestazioni di Visual Studio.Notification tips to improve performance of Visual Studio are now persisted in the performance center, accessible via Help > Manage Visual Studio Performance.
  • Possibilità di visualizzare lo stato di caricamento della soluzione nel centro stato attività, nonché gli avvisi al termine dell'operazione.You can now see your solution load progress in the Task Status Center, as well as alerts when your solution loads finish.
  • Scelta dei progetti da caricare nella soluzione aperta con i file di filtro della soluzione.Choose which projects to load on solution open with Solution Filter Files.
    • 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).Create a Solution Filter File by unloading projects you don't want opened automatically, right-clicking the solution, and selecting Save As Solution Filter. È quindi possibile usare il file di filtro per aprire la soluzione per usi successivi.You can then use the filter file to open the solution for subsequent uses.
  • Miglioramento dell'individuazione delle risorse di compilazione e della ricerca di file quando si seleziona CTRL + T negli scenari di apertura cartella.Experience improved build asset discovery and file search when you Ctrl+T in Open Folder scenarios.
  • Miglioramento delle prestazioni poiché l'editor di Visual Studio limita ora l'impatto dei componenti ausiliari sulle prestazioni di digitazione.Notice performance improvements now that the Visual Studio editor will limit the impact of auxiliary components on typing performance. In particolare, tutte le operazioni non essenziali con esecuzione prolungata durante la digitazione vengono annullate.Particularly, it will auto-cancel any long-running, nonessential operations when typing.
  • È possibile configurare il comportamento per la limitazione dei componenti ausiliari in Visual Studio tramite Strumenti > Opzioni > Editor di testo > Avanzate:You can configure the Visual Studio auxiliary component limitation behavior via Tools > Options > Text Editor > Advanced:
Visual Studio Typing Latency Options
*Opzioni di latenza per la digitazione in Visual Studio**Visual Studio Typing Latency Options*
  • È ora possibile disabilitare il ripristino dello stato della gerarchia del progetto dalla sessione precedente nella finestra degli strumenti di Esplora soluzioni.You can now disable the restoration of the project hierarchy state from the previous session in the Solution Explorer tool window. Questa modifica è stata implementata perché il ripristino della gerarchia del progetto dalla sessione precedente alla soluzione aperta può ritardare il caricamento della soluzione.We implemented this change because restoring the project hierarchy from previous session at solution open can delay solution load.
    • Attivare o disattivare questa opzione in Strumenti > Opzioni > Progetti e Soluzioni > Generale.Toggle this option in Tools > Options > Projects and Solutions > General.
Solution load restore settings
*Impostazioni di ripristino Carico della soluzione**Solution load restore settings*
\* Ora è possibile disabilitare il ripristino dello stato della finestra degli strumenti dalla sessione precedente e caricare sempre Esplora soluzioni e Team Explorer all'avvio.\* You can now disable the restoration of the tool window's state from the previous session and instead always load Solution Explorer and Team Explorer at startup. Questa modifica è stata implementata perché il ripristino delle finestre degli strumenti dalle sessioni precedenti può ritardare i caricamenti della soluzione all'avvio.This change was implemented because restoring tool windows from previous sessions can delay solution loads at startup. \* Attivare questa opzione in **Strumenti > Opzioni > Ambiente > Avvio**.\* Toggle this option in **Tools > Options > Environment > Startup**.

Debug e diagnostica generaliGeneral Debugging and Diagnostics

Debug generaleGeneral Debugging
  • 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.Highlight, find, and navigate with keywords using our new search feature that we integrated into the Watch, Autos, and Locals windows.
Searching for keywords in Watch
Ricerca nella finestra Espressione di controlloSearching in the Watch Window
  • 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.View a dropdown of specifiers and options to format data in the Watch, Autos, and Locals windows by appending a comma to a listed item.
Format Specifier Dropdown List in Watch
Elenco a discesa di un identificatore di formato nella finestra Espressione di controlloFormat Specifier Dropdown in Watch Window
  • È ora possibile usare il supporto personalizzato e per il visualizzatore DataSet per .NET Core.You can now use custom and DataSet visualizer support for .NET Core.
DataSet Visualizer for .NET Core
Visualizzatore DataSet per le applicazioni .NET CoreDataSet Visualizer for .NET Core applications
  • Per le applicazioni C++ in esecuzione in Windows, i file PDB vengono ora caricati in un processo a 64 bit separato.For C++ applications running on Windows, PDB now load in a separate 64-bit process. 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.This change addresses a range of crashes caused by the debugger running out of memory when debugging applications that contain a large number of modules and PDBs.
Punti di interruzione dei dati gestitiManaged data breakpoints

È ora possibile interrompere l'esecuzione quando il valore della proprietà di un oggetto specifico cambia nelle applicazioni .NET Core (versione 3.0 o successive) che usano i punti di interruzione dei dati, una funzionalità che in precedenza era disponibile esclusivamente in C++.You can now break when a specific object's property value changes in .NET Core (3.0 or higher) applications using data breakpoints, a feature that was originally exclusive to C++. Sono un'ottima alternativa al semplice inserimento di un punto di interruzione nel setter di una proprietà perché un punto di interruzione dei dati può essere usato per la proprietà di un oggetto specifico, anche quando è esterno all'ambito, mentre l'opzione precedente può causare continue interruzioni non rilevanti se sono presenti centinaia di oggetti che chiamano tale funzione.They are a great alternative to simply placing a breakpoint on a property's setter because a data breakpoint can focus on a specific object's property even when it's out of scope, whereas the former option may result in constant, irrelevant breaks if you have hundreds of objects calling that function.

Data breakpoints for .NET Core
Punti di interruzione dei dati nell'applicazione .NET CoreData breakpoints in .NET Core application
Aggiornamenti dell'esperienza utente di ricerca nella finestra Espressioni di controlloWatch window Search UX Updates

L'interfaccia utente è stata aggiornata e semplificata per eseguire ricerche nelle finestre Auto, Variabili locali ed Espressioni di controllo.We have updated the UI for searching in the Autos, Locals, and Watch windows with a simpler interface. 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.The Search Deeper function has been changed to a dropdown so you can quickly select how deep you want your initial and subsequent searches to be.

Applicare preferenze di stile per il codiceApply code style preferences
  • È ora possibile applicare le preferenze di stile per il codice dalla riga di comando con lo strumento globale dotnet format.You can now apply code style preferences from the command-line with the dotnet format global tool. Per l'installazione, sarà necessario .NET Core 2.1 SDK o versione successiva.To install, you will need .NET Core 2.1 SDK or later. Eseguire il comando seguente nel terminale preferito: dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10Run the following command in your favorite terminal: dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
dotnet format video
Eseguire il formato dotnet dalla riga di comando.Run dotnet format from the command-line.

EstendibilitàExtensibility

  • In Visual Studio 2019 non sarà più possibile installare le estensioni create con il formato vsixmanifest V1.You will no longer be able to install extensions built with the V1 vsixmanifest extension format in Visual Studio 2019. La versione V1 è stata introdotta in Visual Studio 2010 ed è deprecata in Visual Studio 2017 poiché poteva causare problemi di affidabilità con Visual Studio.V1 was introduced in Visual Studio 2010 and was deprecated in Visual Studio 2017 because it could cause reliability issues with Visual Studio. In Visual Studio 2019 il supporto per la versione V1 è stato completamente rimosso.In Visual Studio 2019, the support for V1 has been completely removed. Le estensioni destinate a Visual Studio 2019 devono essere ricompilate con le versioni V2 o V3 del formato vsixmanifest.Extensions targeting Visual Studio 2019 should be rebuilt V2 or V3 of the vsixmanifest format.
  • L'utente riceverà uno notifica quando l'estensione viene caricata automaticamente in modo sincrono.You will now be notified when an extension is synchronously auto-loaded. 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.Note, the extension will load and work as normal in this release, but is at risk of not functioning in the next Visual Studio 2019 update. 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.More details can be found on our blog post about improving the responsiveness of critical scenarios by updating auto load behavior for extensions.
Pacchetto NuGet SDK unificatoUnified SDK NuGet package

In passato, gli autori di estensioni dovevano creare molti riferimenti separati ai singoli pacchetti NuGet di Visual Studio SDK da usare nell'estensione.In the past, extension authors had to make many separate references to the individual NuGet packages of the Visual Studio SDK they needed to use in their extension. Le versioni dei diversi pacchetti non erano sempre allineate e ciò causava spesso conflitti di dipendenza in fase di compilazione, oltre che problemi di runtime.The versions of the various packages weren't always aligned and that often resulted in dependency conflicts at compile time as well as runtime issues.

Per risolvere questi problemi, usare un nuovo pacchetto denominato Microsoft.VisualStudio.SDK che contiene dipendenze da tutti i pacchetti che compongono Visual Studio SDK.To solve these issues, use a new package called Microsoft.VisualStudio.SDK which contains dependencies on all the packages that make up the Visual Studio SDK. Tale pacchetto risolve il problema delle versioni non corrispondenti e consente di individuare la versione da usare.It solves the issue of version mismatches as well as makes it easy to know which version to use. È sufficiente usare la versione del pacchetto corrispondente alla versione minima di Visual Studio supportata dall'estensione per avere accesso all'intero SDK.Simply use the version of the package that corresponds to the lowest version of Visual Studio your extension supports and you will have access to the entire 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.Right now, only version 15.9 of the SDK package exists, but more will be released in the months to come all the way to version 14.0.

Modelli di progetto nuovi e aggiornatiNew and updated project templates

Il modello Progetto VSIX ha subito più aggiornamenti che lo hanno semplificato e migliorato:The VSIX Project template has gone through multiple updates to simplify it and make it better:

  • Usa il nuovo pacchetto NuGet SDK unificatoUses the new, unified SDK NuGet package
  • Include una classe AsyncPackageIncludes an AsyncPackage class
  • Non è più necessario un file con estensione resx per compilare un pacchettoNo longer requires a .resx file to compile a package
  • Ha come destinazione .NET Framework 4.7.2Targets .NET Framework 4.7.2

È stato creato un nuovo modello di progetto VSIX vuoto identico al modello Progetto VSIX, ma senza la classe AsyncPackage.A new Empty VSIX Project template has been created and it is the same as the VSIX Project template but without the AsyncPackage class. 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.It also references the unified SDK NuGet package providing a good starting point for MEF extensions and other package-less extension types.

Gratuita/A pagamento/Versione di valutazioneFree/Paid/Trial

Non esisteva un modo semplice per stabilire se un'estensione fosse gratuita, a pagamento o una versione di valutazione.There hasn't been an easy way to see if an extension was marked as free, paid, or a trial. Ora invece ogni estensione che è una versione di valutazione o a pagamento verrà contrassegnata chiaramente come tale nella finestra di dialogo Estensioni e aggiornamenti.This now changes so that inside the Extensions and Updates dialog, each extension that is either a trial or paid will be marked clearly as such. Le estensioni senza l'etichetta Versione di valutazione/A pagamento sono gratuite.Extensions that don't have a trial/paid label are free.

Strumenti di testTesting tools

Altre API nella finestra di test non documentate nelle versioni precedenti, ma contrassegnate come pubbliche, sono state aggiunte all'elenco degli elementi deprecati.Additional APIs in the Test Window that were previously undocumented but marked as public have been added to the deprecation list.

Controllo del codice sorgenteSource Control

  • 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.Temporarily store changes so you can work on another task now that Team Explorer's Git tools support 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.Review, run, and even debug pull requests from Azure Repos without leaving the IDE using our brand-new pull request experience in Visual Studio 2019. Per iniziale, è ora possibile scaricare l'estensione Richieste pull per Visual Studio da Visual Studio Marketplace.To get started, you can download the Pull Requests for Visual Studio extension from the Visual Studio Marketplace.
New Pull Request Experience
Nuova esperienza di richiesta pullNew Pull Request Experience

MSBuildMSBuild

  • La versione del set di strumenti MSBuild è stata modificata da 15.0 a Current.The MSBuild toolset version has been changed from 15.0 to Current. MSBuild.exe è ora disponibile in %VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe.MSBuild.exe is now in %VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe.
  • MSBuild (e Visual Studio) ora fanno riferimento a .NET Framework 4.7.2.MSBuild (and Visual Studio) now targets .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.If you wish to use new MSBuild API features, your assembly must also upgrade, but existing code will continue to work.

C#C#

Per ogni versione precedente a Visual Studio 2019, la versione predefinita del linguaggio C# era sempre equivalente a quella principale più recente.For every release prior to Visual Studio 2019, the default C# language version was always equivalent to Latest Major. In Visual Studio 2017 C# si è evoluto e sono state rilasciate tre versioni secondarie: 7.1, 7.2 e 7.3.In Visual Studio 2017, C# evolved and released three minor versions: 7.1, 7.2, and 7.3. Tuttavia, i nuovi progetti per impostazione predefinita usavano ancora C# 7.0.However, new projects were still defaulting to 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.This proved frustrating for C# developers who wanted to use new features, but had to manually change the language version for each new project.

Per risolvere questo problema, la versione predefinita del linguaggio C# è determinata dal relativo framework di destinazione:To address this problem, the default C# language version is determined by its target framework:

  • Se la destinazione è .NET Core 3.0 Preview, la versione del linguaggio C# sarà C# 8.0 Preview.If you are targeting .NET Core 3.0 preview, the C# language version will be 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.If you are targeting .NET Framework or any non-preview of .NET Core, the C# language version will by 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.This allows the use of the latest stable C# language features by default, and when using .NET Core previews, the use of C# 8.0 preview language features that align with .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.If you specify a language version via LangVersion in a project or props file, that language version overrides the previously described default.

C++C++

  • Collaborazione in tempo reale ora che Visual Studio Live Share supporta C++.Collaborate in real time now that Visual Studio Live Share supports 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.Save time by by using IntelliCode, an optional extension that uses its extensive training and your code context to put what you're most likely to use at the top of your completion list. Per C++, IntelliCode offre il contributo ottimale quando si usano librerie diffuse, come STL.For C++, IntelliCode offers the most help when you are using popular libraries like STL.
  • Sono stati modificati diversi nomi e descrizioni dei modelli di progetto per adattarli alla finestra di dialogo Nuovo progetto aggiornata.We have modified several project template names and descriptions to fit with the updated New Project dialog.
  • Il componente sperimentale Clang/C2 è stato rimosso.We have removed the Clang/C2 experimental component. 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.Use the MSVC toolset for full C++ standards conformance with /permissive- and/or /std:c++17, or the Clang/LLVM toolchain for Windows. Per altri dettagli, vedere ilblog del team di Visual C++.See the Visual C++ Team Blog for more details.
  • L'opzione /Gm del compilatore C++ è deprecata.We have deprecated the C++ Compiler /Gm switch. Provare a disabilitare l'opzione /Gm negli script di compilazione se è definita in modo esplicito.Consider disabling the /Gm switch in your build scripts if it's explicitly defined. 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).Alternatively, you can also safely ignore the deprecation warning for /Gm as it will not be treated as error when using "Treat warnings as errors" (/WX).
  • Per impostazione predefinita, l'esperienza Android per C++ ora fa riferimento a Android SDK 25 e Android NDK 16b.The C++ Android experience now defaults to Android SDK 25 and Android NDK 16b.
ProduttivitàProductivity
  • L'analisi codice viene ora eseguita automaticamente in background.Code analysis now runs automatically in the background. Gli avvisi vengono visualizzati come linee a zigzag di colore verde all'interno dell'editor durante la digitazione.Warnings display as green squiggles in-editor as you type.
  • 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.The Template Bar now utilizes the Peek Window UI rather than a modal window, supports nested templates, and prepopulates any default arguments into the Peek Window.
  • È disponibile una correzione automatica per l'avviso di analisi codice NULL->nullptr (C26477 USE_NULLPTR_NOT_CONSTANT) tramite il menu Lampadina nelle righe pertinenti, abilitato per impostazione predefinita nel set Regole di base di C++ per controllo tipi.An automatic fix-it for the NULL->nullptr code analysis warning (C26477 USE_NULLPTR_NOT_CONSTANT) is available via the lightbulb menu on relevant lines, enabled by default in the C++ Core Check Type Rules ruleset. 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 "&".Additional quick fixes in the IDE include adding missing #include directives, fixing missing semicolons, and fixing incorrect uses of '*' versus '&'.
  • Non vengono più generate intestazioni precompilate per app desktop e console C++ per impostazione predefinita.Precompiled headers are no longer generated by default for C++ console and desktop apps.
  • La funzionalità Vai a definizione funziona ora nelle direttive #include, aprendo il file corrispondente.Go to Definition now works on #include directives, opening the corresponding file. È incluso il tasto di scelta rapida F12, che offre un semplice metodo per spostarsi all'interno del codice.This includes the F12 shortcut, providing an easy way to navigate around your code.
  • 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.Hovering over a closing brace of a code block provides some helpful information about the context of that block.
  • È stato aggiunto il supporto in ConcurrencyChecker per i tipi STL ben noti dall'intestazione <mutex>.We've added support in ConcurrencyChecker for well-known STL types from the <mutex> header.
  • È disponibile un'implementazione parziale aggiornata del controllo dei profili di durata per il rilevamento di puntatori e riferimenti inesatti.An updated partial implementation of the Lifetime profile checker is available for detecting dangling pointers and references.
  • È stato aggiunto il supporto iniziale nel compilatore per l'operatore <=> ("astronave") di C++20 per il confronto a tre livelli.We've added initial support in the compiler for the C++20 operator <=> ("spaceship") for three-way comparison.
CMakeCMake
  • Sono state migliorate le prestazioni di IntelliSense per i file C++ nei progetti CMake.We've improved performance of IntelliSense for C++ files in CMake projects.
  • Visual Studio permette il bootstrap dello sviluppo di C++ con CMake su Linux rilevando se è presente una versione di CMake compatibile nel computer Linux.Visual Studio helps bootstrap your C++ development with CMake on Linux by detecting if you have a compatible version of CMake on your Linux machine. In caso contrario, propone di installarla.If not, it offers to install it for you.
  • L'editor delle impostazioni di CMake offre un'alternativa a CMakeSettings.json e una certa parità con CMakeGUI.The CMake Settings Editor provides an alternative to CMakeSettings.json and provides some parity with CMakeGUI.
  • Il menu di CMake è stato rimosso e riorganizzato per una maggiore parità con progetti e soluzioni.The CMake menu has been removed and reorganized for closer parity with projects and solutions.
  • 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.Incompatible settings in CMakeSettings, such as mismatched architectures or incompatible CMake generator settings, show squiggles in the JSON editor and errors in the Error List.
  • La toolchain vcpkg viene automaticamente rilevata e abilitata per i progetti CMake aperti nell'IDE una volta eseguito vcpkg integrate install.The vcpkg toolchain is automatically detected and enabled for CMake projects that are opened in the IDE once vcpkg integrate install has been run. Questo comportamento può essere disattivato specificando un file di toolchain vuoto in CMakeSettings.This behavior can be turned off by specifying an empty toolchain file in CMakeSettings.
  • I progetti CMake permettono ora il debug Just My Code per impostazione predefinita.CMake projects now enable Just My Code debugging by default.
  • Gli avvisi di analisi statica possono ora essere elaborati in background e visualizzati nell'editor per i progetti CMake.Static analysis warnings can now be processed in the background and displayed in the editor for CMake projects.
  • 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.We've added clearer build and configure 'begin' and 'end' messages for CMake projects and support for Visual Studio's build progress UI. Inoltre, è ora disponibile un'impostazione del livello di dettaglio di CMake in Strumenti > Opzioni per personalizzare il livello di dettaglio dei messaggi di compilazione e configurazione di CMake in Finestra di output.Additionally, there is now a CMake verbosity setting in Tools > Options to customize the detail level of CMake build and configuration messages in the Output Window.
  • L'impostazione "cmakeToolchain" è ora supportata in CMakeSettings per specificare toolchain senza modificare manualmente la riga di comando di CMake.The 'cmakeToolchain' setting is now supported in CMakeSettings to specify toolchains without manually modifying the CMake command line.
Back-endBackend
  • 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.We've implemented build throughput improvements, including the linker's handling of File I/O and link time in PDB type merging and creation.
  • È stato aggiunto il supporto di base per la vettorializzazione SIMD di OpenMP.We've added basic support for OpenMP SIMD vectorization. Questa può essere abilitata con la nuova opzione della riga di comando -openmp:experimental.This can be enabled with the new CL switch -openmp:experimental. Questa opzione permette la potenziale vettorializzazione dei cicli annotati con "#pragma omp simd".This allows loops annotated with “#pragma omp simd” to potentially be vectorized. La vettorializzazione non è garantita e per i cicli con annotazioni ma non vettorializzati verrà restituito un avviso.The vectorization is not guaranteed, and loops annotated but not vectorized will get a warning reported. Se non è supportata alcuna clausola SIMD, queste verranno semplicemente ignorate e verrà restituito un avviso.If no SIMD clauses are supported, they will simply be ignored and a warning will be reported.
  • È stata aggiunta la nuova opzione della riga di comando -Ob3 per l'incorporamento, che è una versione più aggressiva dell'opzione -Ob2.We've added a new inlining command line switch -Ob3, which is a more aggressive version of -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.-O2 (optimize the binary for speed) still implies -Ob2 by default; if you find the compiler is under-inlining, consider passing -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.To support hand vectorization of loops containing calls to math library functions and certain other operations like integer division, we've added support for Short Vector Math Library (SVML) intrinsic functions that compute the 128-bit, 256-bit or 512-bit vector equivalents. Per le definizioni delle funzioni supportate, vedere la guida alle funzioni intrinseche Intel.See the Intel Intrinsic Guide for definitions of the supported functions.
  • Ottimizzazioni nuove e migliorate:New and improved optimizations:
    • Semplificazioni aritmetiche e a riduzione costante per le espressioni tramite funzioni intrinseche (vettoriali) SIMD per formati sia a virgola mobile sia interiConstant-folding and arithmetic simplifications for expressions using SIMD (vector) intrinsics, for both float and integer forms
    • 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 falseA more powerful analysis for extracting information from control flow (if/else/switch statements) to remove branches always proven to be true or false
    • Introduzione di memset migliorati per l'uso di istruzioni vettoriali SSE2Improved memset unrolling to use SSE2 vector instructions
    • Rimozione migliorata di copie di coppie struct/classe inutili, in particolare per programmi C++ con passaggio di parametri per valoreImproved removal of useless struct/class copies, especially for C++ programs which pass by value
    • Maggiore ottimizzazione del codice tramite memmove, ad esempio la costruzione di std::copy o di std::vector e std::stringImproved optimization of code using memmove, such as std::copy or std::vector and std::string construction
Elementi deprecatiDeprecations
  • Il modello di progetto di test C++ gestito non è più disponibile.The Managed C++ Test Project template is no longer available. È 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.You can continue using the Managed C++ Test framework in your existing projects but, for new unit tests, consider using one of the native test frameworks for which Visual Studio provides templates (MSTest, Google Test) or the Managed C# Test Project template.
  • Windows 8.1 SDK non è più disponibile nel programma di installazione di Visual Studio.The Windows 8.1 SDK is no longer available in the Visual Studio installer. Aggiornare i progetti C++ alla versione più recente di Windows 10 SDK.Please upgrade your C++ projects to the latest Windows 10 SDK. Se esiste una dipendenza rigida dalla versione 8.1, è possibile scaricare l'SDK dall'archivio di Windows SDK.If you have a hard dependency on 8.1, you can download it from the Windows SDK archive.
  • Windows XP non sarà più disponibile come destinazione per il set di strumenti C++ più recente.Windows XP targeting will no longer be available for the latest C++ toolset. 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".XP targeting with VS 2017-level MSVC compiler & libraries is still supported and can be installed via "Individual components".
  • La documentazione sconsiglia fortemente l'uso di moduli di unione per la distribuzione del runtime di Visual C++.Our documentation actively discourages usage of Merge Modules for Visual C++ Runtime deployment. In questa versione è stata intrapreso il passaggio aggiuntivo di contrassegnare i moduli di unione (MSM) come deprecati.We are taking the extra step this release of marking our MSMs as deprecated. Provare a eseguire la migrazione della distribuzione centrale di VCRuntime da moduli di unione al pacchetto ridistribuibile.Consider migrating your VCRuntime central deployment from MSMs to the redistributable package.
  • Le procedure guidate ATL/MFC per C++ seguenti non sono più disponibili: Creazione guidata componente ATL COM+ 1.0, Creazione guidata componente ASP ATL, Creazione guidata provider OLE DB ATL, Creazione guidata pagina delle proprietà ATL, Creazione guidata consumer OLE DB ATL, Creazione guidata consumer ODBC MFC, Classe MFC da controllo ActiveX e Classe MFC da libreria di tipi.The following C++ ATL/MFC wizards are no longer available: ATL COM+ 1.0 Component Wizard, ATL Active Server Pages Component Wizard, ATL OLE DB Provider Wizard, ATL Property Page Wizard, ATL OLE DB Consumer Wizard, MFC ODBC Consumer, MFC class from ActiveX control, and MFC class from Type Lib. Il codice di esempio per queste tecnologie è archiviato in Microsoft Docs e nel repository GitHub VCSamples.Sample code for these technologies is archived at Microsoft Docs and the VCSamples GitHub repository.

F#F#

I miglioramenti di F# in Visual Studio 2019 riguardano tre aree principali:F# improvements in Visual Studio 2019 are in three major areas:

  • F# 4.6F# 4.6
  • Miglioramenti significativi delle prestazioni per le soluzioni di medie o grandi dimensioniMajor performance improvements for medium and larger solutions
  • Una grande quantità di lavoro open source svolto dalla nostra eccellente communityLots of open source work by our excellent open source community
F# 4.6F# 4.6

Questa versione contiene il linguaggio F# 4.6:This release contains the F# 4.6 language:

Miglioramenti del compilatore F# e di FSharp.CoreF# compiler and FSharp.Core improvements

Sono stati apportati numero si miglioramenti al compilatore F# e a FSharp.Core, soprattutto da collaboratori open source:The F# and compiler and FSharp.Core have seen numerous improvements, especially from open source contributors:

  • fsi.exe and fsc.exe now defaults to .NET Framework 4.7.2, allowing the loading of components targeting this framework or lower (#4946).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).We optimized methods on structs and struct records to perform as well as methods on classes and class-based records (#3057).
  • È stato ottimizzato il linguaggio IL generato per la logica booleana combinato nel codice F# (#635).We optimized the emitted IL for combined Boolean logic in F# code (#635).
  • È stato ottimizzato l'uso di + con stringhe in F# per chiamare la quantità minima possibile di chiamate String.Concat (n. 5560).We've optimized the use of + with strings in F# to call the minimal amount of String.Concat calls as possible (#5560).
  • È stato risolto un problema del pacchetto FSharp.Core, per cui venivano incluse alcune directory aggiuntive con asset di test.We fixed an issue in the FSharp.Core package where some extra directories with test assets were included. FSharp.Core 4.5.5 e 4.6.1 dovrebbero contenere la correzione (#5814).FSharp.Core 4.5.5 and 4.6.1 should have the fix (#5814).
  • Quando un attributo definito dall'utente non eredita dalla classe Attribute, viene visualizzato un avviso, di Vasily Kirichenko.When a user-defined attribute does not inherit from the Attribute class, you will now receive a warning, by Vasily Kirichenko.
  • Il valore AssemblyInformationVersionAttribute in un file di progetto ora supporta valori arbitrari per essere in grado di usare scenari come SourceLink (#4822).The AssemblyInformationVersionAttribute value in a project file now supports arbitrary values to support scenarios such as 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).A bug where illegal syntax with Active Patterns would cause an internal compiler error has been fixed by 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).A bug where the Module suffix was erroneously added to a module in a recursive module to match a type where the only difference is a generic parameter was fixed by 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).An improvement to the error message when type parameters are not adjacent to a type name has been improved by 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).The uint16 literal suffix is listed correctly in the error messages for invalid numeric literals, by 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).Error messages for computation expressions no longer state async in the message and instead refer to "computation expression(s)", by 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).An error message when incorrectly referencing .dlls in F# interactive was fixed by 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).A bug where Statically Resolved Type Parameters couldn't handle calling a member that hides an inherited member was fixed by Victor Peter Rouven Müller (#5531).
  • Vari miglioramenti minori delle prestazioni del compilatore sono stati aggiunti da Steffen Forkmann e Robert Jeppesen.Various smaller performance improvements to the compiler have been added by Steffen Forkmann and Robert Jeppesen.
Miglioramenti delle prestazioni di F#F# performance improvements

Un'altra importante area di interesse per F# in Visual Studio 2019 è quella delle prestazioni per le soluzioni di medie e grandi dimensioni.Another big focus area for F# in Visual Studio 2019 has been performance for medium and large solutions. Sono stati risolti alcuni problemi presenti da molto tempo, alcuni dei quali risalgono alla primissima edizione degli strumenti di F# per Visual Studio.We addressed some very long-standing issues, some of which dating back to the very first edition of F# tools for Visual Studio. Un contributo è stato offerto dall'eccellente community open source di F#.We also got some help from the excellent F# open source community.

  • È stata migliorata l'inizializzazione del servizio di linguaggio F# da parte di Roslyn.We've revamped how the F# language service is initialized by Roslyn. La colorazione dei tipi per le soluzioni di dimensioni maggiori appare in genere più rapidamente.Type colorization for larger solutions should generally appear sooner.
  • 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).We changed our representation of source text to avoid large allocations over time, especially with bigger files (#5935, #5936, #5937, #4881).
  • Modificate le cache di compilazione per le piccole modifiche ai file per usare una quantità di memoria notevolmente ridotta (n. 6028).We changed our build caches for small edits to files to use significantly less memory (#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 #).We modified a compiler feature that suggests names when unrecognized tokens are typed to only compute these suggestions on-demand, resulting in significant CPU and memory reductions when typing slowly in larger solutions (#6044).
  • IntelliSense è stato modificato in modo che non visualizzi più simboli degli spazi dei nomi non aperti per impostazione predefinita.We changed IntelliSense so that it will no longer show symbols from unopened namespaces by default. Questo migliora notevolmente le prestazioni di IntelliSense nei progetti con molti riferimenti.This notably improves performance for IntelliSense in projects with many references. Questa funzionalità può essere nuovamente attivata nelle impostazioni da Strumenti > Opzioni > Editor di testo > F# > IntelliSense.This feature can be turned back on in the settings via Tools > Options > Text Editor > 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).We improved memory usage when using Type Providers to generate very large amounts of provided types in a completion list (#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).A reduction to CPU and memory usage to an internal string comparison algorithm for suggesting unrecognized names has been fixed by 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).A notable source of large string allocations, particularly for IDE tooling, was fixed by Avi Avni (#5922).
  • Un importante problema che causa allocazioni heap di oggetti grandi provenienti dall'elaborazione in IntelliSense è stato risolto da Chet Husk (#6084)A notable source of Large Object Heap allocations coming from computing IntelliSense has been fixed by Chet Husk (#6084)
Miglioramenti degli strumenti di F#F# tooling improvements

Oltre ai miglioramenti delle prestazioni, sono stati apportati diversi altri miglioramenti agli strumenti di F# per Visual Studio 2019:In addition to performance improvements, various other improvements to F# tooling for Visual Studio 2019 have been made:

  • La correzione del codice dell'istruzione open aggiunta fa riferimento all'inserimento dell'istruzione open nella parte superiore del file.The Add open statement code fix will now default to adding the open statement at the top of the 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).We fixed a bug where match! in user code invalidated structure guidelines and code outlining nodes for subsequent scopes (#5456).
  • L'editor colora correttamente i valori byref, outref e ref come campi di record in base alla colorazione dei valori variabile (#5579).The editor will now correctly color byref, outref, and ref values as record fields with the mutable value colorization (#5579).
  • È stato corretto un bug per cui il refactoring di ridenominazione non riconosceva il carattere ' nei nomi dei simboli (#5604).We fixed a bug where the rename refactoring did not recognize the ' character in symbol names (#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).We've fixed a longstanding bug where renaming F# script files resulted in a loss of colorization data (#1944).
  • IntelliSense è stato perfezionato in modo da non visualizzare gli elementi non correlati nell'elenco quando si preme BACKSPACE.We cleaned up IntelliSense so that it doesn't show unrelated items in the list when pressing 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).With "Smart" indentation on, pasting F# code into the editor will now format it to match an appropriate scope based on the current cursor position, implemented by 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).An issue where F# editor options weren't syncing has been fixed by Jakob Majocha (#5997, #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)A bug where IntelliSense in a constructor within an inherit clause wouldn't show the primary constructor has been fixed by Eugene Auduchinok (#3699)
  • Vari miglioramenti minori del servizio di linguaggio F# sono stati apportati da Eugene AuduchinokVarious smaller improvements to the F# language service have been made by Eugene Auduchinok
Infrastruttura open source di F#F# open source infrastructure

È stata eseguita una migrazione completa della codebase di F# e degli strumenti di F# per usare .NET SDK.We've fully migrated the F# and F# tools codebase to use the .NET SDK. Questo semplifica notevolmente l'apporto dei contributi da parte degli sviluppatori, soprattutto se non usano Windows.This dramatically simplifies the contribution process for developers, especially if they are not using Windows. Inoltre Jakob Majocha ha contribuito alla pulizia dei documenti per i nuovi collaboratori in previsione delle modifiche della codebase.Additionally, Jakob Majocha has helped in cleaning up documents for new contributors in light of the changes to the codebase.

PythonPython

In base ai suggerimenti dei clienti, Visual Studio 2019 include un'esperienza di revisione per la gestione di ambienti Python.Based on customer feedback, Visual Studio 2019 includes an overhauled experience for managing Python environments:

  • È 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.We added a new Add environment dialog that simplifies the experience of creating and adding virtual environments and conda environments in your project.
  • 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.The Visual Studio installer no longer installs full versions of Anaconda to reduce the size of Visual Studio installs and avoid errors during upgrades.
  • Miniconda è integrato nel carico di lavoro di Python come componente opzionale, per creare ambienti conda senza dover installare Miniconda/Anaconda.Miniconda is bundled with Python workload as an optional component, enabling you to create conda environments without having to install 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.You will now be automatically prompted to add an environment if a requirements.txt (virtual environment) or environment.yml (conda environment) is present at the root of your project.
  • Una nuova barra degli strumenti per gli ambienti Python è disponibile quando si modificano file Python.A new Python Environments toolbar is available when editing Python files. 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.The new toolbar enables you to switch between different Python interpreters when working with projects, Open Folder workspaces or loose Python files in other projects.
  • Miglioramenti della qualità del completamento automatico in Python IntelliSense, tra cui il rilevamento ottimizzato delle importazioni relative e degli spazi dei nomi.Improvements to the quality of auto-completions in Python IntelliSense, including improved detection of relative and namespace imports.
  • I modelli di progetto Django sono stati aggiornati per supportare Django 2.x.Django project templates have been updated to support Django 2.x.
  • I valori restituiti delle funzioni vengono ora visualizzati nel debugger di Python.Function return values are now shown in the Python debugger.
  • Ora è possibile creare sessioni di Visual Studio Live Share e collaborare al codice Python con altri utenti di Visual Studio.You can now create VS Live Share sessions and collaborate on Python code with other Visual Studio users. In precedenza Python era supportato solo quando si partecipava a sessioni create da Visual Studio Code.Previously, Python was only supported when joining sessions created from Visual Studio Code.

JavaScript/TypeScriptJavaScript/TypeScript

  • È stato aggiunto il supporto per l'abilitazione del debug di JavaScript all'interno di unit test in progetti Node.js.We have added support for enabling JavaScript debugging within unit tests in Node.js projects. Si tratta di una funzionalità a lungo richiesta dai clienti che usano Node.js.This was a long-requested feature from our Node.js customers.
  • 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).The JavaScript/TypeScript language service will now be automatically loaded in projects that have the TypeScript NuGet package or npm package installed (TypeScript 3.2 and up is supported from the NuGet package and TypeScript 2.1 and up is supported from the npm package).
  • 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.We have implemented performance improvements in the language service as a result of increasing the memory cap on the language service to handle larger projects.
  • Per impostazione predefinita, negli elenchi degli errori non vengono più visualizzate le statistiche dei file JavaScript/TypeScript chiusi.We no longer show diagnostics of closed JavaScript/TypeScript files in the error list by default.
  • Il servizio di linguaggio JavaScript legacy non è più disponibile.The legacy JavaScript language service is no longer available. In precedenza gli utenti avevano la possibilità di ripristinare il servizio di linguaggio JavaScript legacy.Previously, users had the option of restoring the legacy JavaScript language service. Il servizio di linguaggio JavaScript è ora disponibile per impostazione predefinita.Users will now have the new JavaScript language service out-of-the-box. Il nuovo servizio di linguaggio si basa sul servizio di linguaggio TypeScript, supportato dall'analisi statica.The new language service is based on the TypeScript language service, which is powered by static analysis. 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.This enables better tooling, so your JavaScript code can benefit from richer IntelliSense based on type definitions. Il nuovo servizio è leggero e usa meno memoria rispetto al servizio legacy, offrendo agli utenti prestazioni migliori a seconda delle dimensioni del codice.The new service is lightweight and consumes less memory than the legacy service, providing users with better performance as their code scales.

Team Explorer e Azure DevOpsTeam Explorer and Azure DevOps

Sono stati apportati miglioramenti all'esperienza di gestione degli elementi di lavoro Git con Azure DevOps.We have made improvements to the Git Work Items experience with Azure DevOps.

  • È possibile assegnare elementi di lavoro a se stessi o ad altri utenti con il nuovo controllo di selezione identità.Assign work items to yourself or others with the new identity picker. Per impostazione predefinita, verrà visualizzato un elenco delle persone selezionate più di recente.By default, you will be shown a list of the people you have most recently used. In alternativa, è possibile usare la funzionalità di ricerca per cercare e trovare altre persone nell'organizzazione.Or, use the search ability to search and find others in your organization.
  • È stata migliorata l'esperienza con elementi #mention nel messaggio di commit.We have improved the #mentions experience in the commit message. Quando si seleziona un elemento di lavoro dal controllo di selezione di #mention, questo verrà automaticamente aggiunto all'elenco di elementi di lavoro correlati.As you select a work item from the #mention picker, it will automatically be added to the Related Work Items list.
Assigning work items and #mention improvements
Assegnazione di elementi di lavoro e miglioramenti relativi a #mentionAssigning work items and #mention improvements

Evidenziazione del percorso criticoHot Path Highlighting

  • È 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.We have added support for hot path highlighting in both the CPU Usage and DotNet Object Allocation tools in the Performance Profiler. 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).Select any function in the call tree and press the hot path button to expand the CPU Usage or Dot Net Object Allocation hot path. 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.This feature allows you to easily identify the function calls which use the highest percentage of the CPU or that allocate the most objects.
Hot path highlighting in the CPU Usage tool
Evidenziazione del percorso critico nello strumento Utilizzo CPUHot path highlighting in the CPU Usage tool

Strumenti .NET e ASP.NET.NET and ASP.NET Tools

  • 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.We have implemented various small UX improvements to the publish profile summary page (new section headers and actions/shortcuts) for all applications.
  • 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".When publishing ASP.NET applications to Azure App Service, the publish profile summary page now has a new section called "Dependencies". Questa nuova sezione permette attualmente di associare risorse di Archiviazione di Azure e SQL di Azure all'istanza del servizio app.This new section currently allows you to associate Azure Storage and Azure SQL resources with your app service instance. In futuro altri servizi di Azure verranno inclusi come disponibili tramite questo meccanismo.Expect more Azure services to be surfaced through this mechanism in the future.
  • Uso di metrica del codice con progetti .NET Core grazie alla compatibilità aggiunta.Use code metrics with .NET Core projects with our added compatibility.
  • Esportazione delle impostazioni dell'editor in un file Editorconfig tramite le opzioni Strumenti > Opzioni > Editor di testo > C# > Stile codice con il pulsante "Generate .editorconfig file from settings" (Genera file .editorconfig dalle impostazioni).Export editor settings to an Editorconfig file through Tools > Options > Text Editor > C# > Code Style with the button "Generate .editorconfig file from settings".
  • Nuovo supporto del parser per Regex di C# e di Visual Basic.Use C# and Visual Basic's new Regex parser support. Le espressioni regolari sono ora riconosciute e le funzionalità del linguaggio sono abilitate per usarle.Regular expressions are now recognized, and language features are enabled on them. 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.Regex strings are either recognized when a string is passed to the Regex constructor or when a string is immediately preceded with a comment containing the string language=regex. Le funzionalità del linguaggio incluse in questa versione sono classificazione, corrispondenza tra le parentesi graffe, riferimenti di evidenziazione e diagnostica.The language features included in this release are classification, brace matching, highlight references, and diagnostics.
Regular expressions now have parser support
Supporto del parser per le espressioni regolariRegular Expression Parser Support
  • È 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.You can now use dead code analysis for unused private members with an optional code fix to remove unused member declaration.
  • La funzionalità Trova riferimenti in una funzione di accesso ora restituisce solo i risultati per tale funzione.The Find References feature on an accessor now only returns results for that accessor.
  • È stata aggiunta una correzione del codice per la generazione di un metodo di decostruzione.We have added a code fix for generating a deconstruct method.
  • Le istruzioni "using" possono essere aggiunte quando il codice viene incollato in un file."Using" statements can be added when code is pasted into a file. Una correzione del codice viene visualizzata dopo che il codice riconosciuto è stato incollato, quando viene chiesto di aggiungere le importazioni mancanti rilevanti.A code fix appears after pasting recognized code that prompts you to add relevant missing imports.
  • Sono ora disponibili più azioni rapide e di refactoring usando la combinazione "CTRL+."There are now more refactoring and quick actions available by using "Ctrl + ." o "ALT + INVIO".or "Alt + Enter":
    • Per i casi in cui l'opzione "await" è implicita, ma omessa, è ora presente un avviso del compilatore.For cases where "await" is implied but omitted, there is now a compiler warning.
    • Per la conversione di una funzione locale in un metodo.For converting a local function to a method.
    • Per la conversione di una tupla in un tipo di dati struct denominato.For converting a tuple to a named-struct.
    • Per la conversione di un tipo anonimo in una classe.For converting an anonymous type to a class.
    • Per la conversione di tipo anonimo un una tupla.For converting an anonymous type to a tuple.
    • Per un ciclo foreach verso query o metodi LINQ.For a foreach loop to LINQ query or to LINQ method.
  • È stato aggiunto il supporto per le applicazioni ASP .NET Core in esecuzione in un servizio Azure Kubernetes.You now have added support for ASP .NET Core applications running in an Azure Kubernetes Service. Per iniziare, vedere questo esempio di docker in GitHub.To get started, see this docker example over on GitHub.
  • ASP.NET è ora supportato nello strumento di utilizzo della CPU del Profiler prestazioni.ASP.NET is now supported in the CPU Usage tool of the Performance Profiler.
CPU Usage Tool in Performance Profiler
Strumento di utilizzo della CPU nel Profiler prestazioniCPU Usage Tool in Performance Profiler
  • È 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.You can now use Find All References (Shift-F12) and CodeLens to show results from Razor (.cshtml) files in .NET Core projects. È quindi possibile accedere al codice identificato nei file Razor pertinenti.You can then navigate to the identified code in the relevant Razor files.
  • È 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.We've added support for targeting ASP .NET (core and desktop) applications running on Windows Virtual Machines (VM) and VM Scale Sets.
Snapshot debugger target selection UI
Interfaccia utente per la selezione di destinazione di Snapshot DebuggerSnapshot Debugger Target Selection UI
  • Viene ora visualizzato un avviso durante l'esecuzione di analisi del codice tramite FxCop.You will now receive a warning when running code analysis using FxCop. Per eseguire l'analisi del codice in futuro, è consigliabile usare i compilatori .NET..NET Compiler analyzers are the recommended way to perform code analysis going forward. Per altre informazioni, leggere l'articolo sulla migrazione agli analizzatori della piattaforma del compilatore .NET.Read more on migrating to .NET compiler platform analyzers.
  • 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.Portable Class Library (PCL) project templates are no longer available, and project support will not be installed by default. I nuovi progetti destinati a fare riferimento a più piattaforme devono usare il tipo di progetto .NET Standard.New projects intended to target multiple platforms should use the .NET Standard project type. 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.Customers who require PCL project support must install the component separately from the Individual Components tab in the Visual Studio installer.
  • Il comando "Project.CopyWebSite" non è più disponibile.The "Project.CopyWebSite" command is no longer available. Questa funzionalità era disponibile solo nel tipo di progetto "Sito Web" per .NETThis feature was only available on the "Web Site" project type for .NET. e offriva la possibilità di sincronizzare due siti Web in modo che disponessero della stessa versione di ogni file.It provided the ability to synchronize two web sites so that they have the same version of each file. In Visual Studio 2019 è possibile copiare i file dalla destinazione remota all'esterno di Visual Studio e quindi aprire il progetto.In Visual Studio 2019, you can copy the files from the remote destination outside of Visual Studio and then open the project.
  • La possibilità di aprire un progetto di tipo Sito Web da un percorso FTP remoto è stata rimossa.The ability to open a Web Site project from a remote FTP location has been removed. 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.FTP users can copy the files from the remote destination outside of Visual Studio, open the project and make changes, and then use publish to push them back to the remote FTP location.
  • Il carico di lavoro ASP.NET e Web non installa più un'esperienza di modifica CoffeeScript.The ASP.NET and Web workload no longer installs a custom CoffeeScript editing experience. Le aggregazioni TextMate di Visual Studio offrono un'esperienza di livello superiore per usare CoffeeScript.Visual Studio's TextMate bundles provide a superior experience for working with CoffeeScript.
  • Gli errori CSS e CoffeeScript generati attualmente dalle copie incorporate di CSSLint e CoffeeLint non emergono più automaticamente quando si modificano questi file.CSS and CoffeeScript errors that are currently generated by built-in copies of CSSLint and CoffeeLint will no longer automatically surface when editing those files. Per eseguire i linter, usare un metodo alternativo, ad esempio npm o Esplora esecuzione attività di Visual Studio.Use an alternative method for running linters such as npm or the Visual Studio Task Runner Explorer.
  • In Visual Studio non è più disponibile IntelliSense per gli attributi HTML Knockout.Visual Studio no longer provides IntelliSense for Knockout HTML attributes. In Visual Studio 2019 è necessario digitare gli attributi.In Visual Studio 2019 you will need to type the attributes.
  • La possibilità di usare il debugger Chrome legacy nei progetti ASP.NET per eseguire il debug di JavaScript è stata rimossa.The ability to use the Legacy Chrome debugger in ASP.NET projects for debugging JavaScript has been removed. È possibile continuare a usare il debugger di Chrome corrente incorporato in Visual Studio.You can continue to use the current Chrome debugger built into Visual Studio.
  • La possibilità di usare la funzionalità Console JavaScript nei progetti ASP.NET è stata rimossa.The ability to use JavaScript Console functionality in ASP.NET projects has been removed. È consigliabile che i clienti usino la funzionalità Console inclusa negli strumenti di sviluppo del browser di preferenza.We recommend that customers use Console included within their favorite browser devtools.

Strumenti per i contenitoriContainer Tools

  • È stata aggiunta un'esperienza uniforme per singoli progetti per lo sviluppo di contenitori e il debug:We've added a streamlined single-project experience for containerizing and debugging:
    • Applicazioni Web ASP.NET (.NET Framework)ASP.NET Web Applications (.NET Framework)
    • Applicazioni console (.NET Core)Console Applications (.NET Core)
  • È stato aggiunto il supporto per il debug di applicazioni ASP.NET Core che usano Alpine come immagine di base.We've added support for debugging ASP.NET Core Applications that use Alpine as a base image.
  • È stato aggiunto il supporto per le immagini .NET Core e ASP.NET più recenti.We've added support for the latest ASP.NET and .NET Core images.

Strumenti per .NET Core.NET Core tools

.NET Core 3.0.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.With this release, you can create ASP.NET Core, Console, and Class Library projects targeting .NET Core 3.0 if you have the preview SDK installed.

Se si usa Visual Studio RC è necessario scegliere anche Strumenti > Opzioni > Progetti e soluzioni > .NET Core e selezionare la casella di controllo relativa all'uso delle anteprime di .NET Core SDK.If you are using Visual Studio RC, you need to also go to Tools > Options > Projects and Solutions > .NET Core and check the Use previews of the .NET Core SDKs checkbox. Se si usa Visual Studio Preview, non è necessario eseguire questa operazione.If you are using Visual Studio Preview, you do not need to do this. 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).You can read more about this setting and its behavior in .NET Core tooling update for Visual Studio 2017 version 15.9.

È anche possibile creare progetti Windows Form o WPF per .NET Core 3.0 con il comando "dotnet new".You can also create Windows Forms or WPF projects for .NET Core 3.0 with the "dotnet new" command. Questi progetti possono quindi essere aperti in Visual Studio 2019.These projects can then be opened in Visual Studio 2019.

Nuove funzionalitàNew features

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.Starting with this release, we are making project files for .NET SDK-style projects a first-class file type in Visual Studio. Sono ora supportate le operazioni seguenti:The following is now supported:

  • Doppio clic su un nodo del progetto per aprire il file di progettoDouble-click a project node to open the project file
  • Singolo clic sul nodo del progetto per aprire il file di progetto in una scheda di anteprimaSingle-click the project node to open the project file in a Preview tab
  • Ricerca di un file di progetto per nome con Vai a tutti (ctrl + T)Find a project file by name with Go to All (ctrl + T)
  • Ricerca di elementi di MSBuild in un file di progetto con la funzionalità Cerca nei fileMSBuild elements in a project file now are searchable with Find in Files
  • Apertura dall'elenco degli errori se viene generato un errore di creazione di progettiOpening from the error list if a project authoring error is triggered

Inoltre, i progetti in stile .NET SDK usano ora la nuova console integrata per F5 e ctrl + F5 nelle app console.Additionally, .NET SDK-style projects will now use the new Integrated Console experience for F5 and ctrl + F5 on console apps. In questo modo, si ottiene un'esperienza unificata per l'avvio di applicazioni console da Visual Studio:This unifies the experience when launching console applications from Visual Studio:

  • Per F5, la finestra della console non viene automaticamente chiusa al termine dell'esecuzione dell'app.For F5, the console window will not automatically close when the app is finished executing. Non è più necessario aggiungere chiamate Console.Read() alle app console.You no longer need to add Console.Read() calls to your console apps.
  • Per ctrl + F5, la finestra della console viene riutilizzata nelle esecuzioni successive dell'app.For ctrl + F5, the console window will be re-used in subsequent runs of your app. Non è più necessario chiudere i caricamenti delle finestre della console.You no longer need to close loads of console windows.

La nuova finestra della console può essere chiusa automaticamente premendo un tasto quando è aperta o selezionando l'opzione in Strumenti > Opzioni > Automatically close the console when debugging stops (Chiusura automatica della console all'arresto del debug).The new console window can be closed automatically by pressing a key when it is open or by selecting the option under Tools > Options > Automatically close the console when debugging stops.

Supporto per le espressioni di licenza e i file di licenza aggiunto alle pagine delle proprietà del progetto.Support for License Expressions and License Files has now been added to project property pages. Ciò è conforme alle modifiche per impostare licenseUrl come deprecato in NuGet.This aligns with changes to deprecate licenseUrl in NuGet.

Miglioramenti delle prestazioniPerformance improvements
  • La scalabilità delle soluzioni di grandi dimensioni è stata notevolmente migliorata, consentendo l'uso di soluzioni .NET Core molto più grandi rispetto a prima.The scalability of large solutions has been significantly improved, allowing the use of much larger .NET Core solutions than before.
  • 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.Solution load times for large projects have been significantly reduced, as has the CPU and memory usage when loading them.
Parità delle funzionalità con i progetti non .NET CoreFeature parity with non-.NET Core projects

È 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.You can find a full list of issues and pull requests in the 16.0, 16.0 Preview 2, 16.0 Preview 3, and 16.0 Preview 4 milestones.

Produttività .NET.NET Productivity

  • Nuovi refactoring e correzioni del codice .NET:.NET refactorings and codefixes:

    • Spazio dei nomi di sincronizzazione e nome della cartellaSync Namespace and Folder Name
    • Refactoring per il pull di membri con opzioni della finestra di dialogoPull members up refactoring with dialog options
    Pull members up refactoring with dialog options
    Finestra di dialogo per il pull di membriPull Members Up dialog
    • Wrapping/rientro/allineamento di elenchi di parametri/argomentiWrap/indent/align lists of parameters/arguments
    • Conversione di tipi anonimi in tuplaConvert anonymous type to tuple
    • Uso del corpo dell'espressione e/o del blocco per espressioni lambdaUse expression/block body for lambda
    • Inversione di espressioni condizionali e operazioni logicheInvert conditional expressions and logical operations
    • Chiusura automatica del commento del blocco in corrispondenza di "/"Automatically close block comment on “/”
    • Conversione in assegnazione compostaConvert to compound assignment
    • Correzione del problema per cui le variabili tipizzate in modo implicito non possono essere costantiFix Implicitly-typed variables cannot be constant
    • Correzione automatica per sostituire @$" con $@" durante la digitazione di una stringa verbatim interpolataAuto-fixer to replace @$" with $@" when typing interpolated verbatim string
    • Completamento per #nullable enable|disableCompletion for #nullable enable|disable
    • Correzione per valori e parametri di espressione inutilizzatiFix for unused expression values and parameters
    • Correzione per consentire a Estrai interfaccia di restare nello stesso fileFix for allowing Extract Interface to remain in the same file
  • Classificazione di riferimenti in base a lettura/scrittura.Categorize references by Read/Write.

  • Aggiunta dell'opzione when_multiline di Editorconfig per csharp_prefer_braces.Add Editorconfig when_multiline option for csharp_prefer_braces.

  • Sono disponibili nuovi colori di classificazione in .NET Compiler Platform SDK (noto anche come Roslyn).New classification colors are available from the .NET Compiler Platform SDK (aka Roslyn). Vengono gradualmente implementati nuovi colori predefiniti, simili ai colori di Visual Studio Code. È possibile modificare questi colori in Strumenti > Opzioni > Ambiente > Tipi di carattere e colori oppure disattivarli in Ambiente > Funzionalità in anteprima deselezionando la casella di controllo Use enhanced colors (Usa colori avanzati).New default colors, similar to the Visual Studio Code colors, are gradually being rolled out. You can adjust these colors in Tools > Options > Environment > Fonts and Colors or turn them off in Environment > Preview Features by unchecking the Use enhanced colors check box. Microsoft invita gli utenti a inviare commenti e suggerimenti sull'impatto di questa modifica sul flusso di lavoro.We’d appreciate hearing feedback on how this change affects your workflow.

New Roslyn classification colors
Nuovi colori di classificazione di RoslynNew Roslyn classification colors

Debug di JavaScript in progetti ASP.NETJavaScript Debugging in ASP.NET projects

  • 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.If you have added a new Google Chrome browser with custom arguments using the "Browse with..." menu for your ASP.NET project, Visual Studio will now enable JavaScript debugging for your application when debugging is started. Gli argomenti di avvio personalizzati per Google Chrome verranno applicati all'avvio di Chrome.Your custom launch arguments for Google Chrome will be applied when launching Chrome.
Adding Google Chrome with Custom arguments using 'Browse with'
Aggiunta di Google Chrome con argomenti personalizzati tramite "Esplora con"Adding Google Chrome with Custom arguments using 'Browse with...'
Nota: per impostazione predefinita, Visual Studio avvia Chrome con una directory di dati diversa rispetto alla normale istanza di Chrome, se non viene specificato il percorso della directory di dati come argomento. Note: Visual Studio, by default, will launch Chrome using a different data directory than your regular Chrome instance unless you provide the path to your data directory as an argument. Di conseguenza, se devono essere disponibili determinate estensioni quando si usa questa istanza di Chrome, è necessario installarle la prima volta.As a result, if you require any extensions to be available when using this Chrome instance, you will need to install them the first time.

Strumenti di Funzioni di Azure e ASP.NETASP.NET & Azure Functions tooling

  • Visual Studio 2019 include una nuova esperienza per la creazione di nuovi progetti.Visual Studio 2019 comes with a new experience for creating new projects. In particolare quando si creano nuovi progetti ASP.NET, Visual Studio offre finestre di dialogo aggiuntive che presentano scelte specifiche di ASP.NET.When creating new ASP.NET projects specifically, Visual Studio offers additional dialogs that surface ASP.NET specific choices. Queste finestre di dialogo sono state aggiornate in modo da rispecchiare lo stile di visualizzazione del resto dell'esperienza.These additional dialogs have been updated to match the visual style of the rest of the experience.
  • 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.For a while now, publish credentials in Visual Studio are encrypted and stored in the publish profile user file so you don't have to re-enter them every time you publish your application. 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.User files in general are excluded from source control by default because they are likely to contain secret and/or personal information that should not be shared. 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.Up until now, if a publish profile for an Azure Functions project was checked into source control but the user file was not, the publish credentials were missing and the publish profile could not be re-used. Ora è consentito modificare le credenziali e creare un nuovo file utente per poter riutilizzare il profilo di pubblicazione.Now, we allow for the credentials to be edited and a new user file to be created so that the publish profile can be re-used.

Creazione guidata sessione di prestazioniPerformance Wizard

In Visual Studio 2019 le esperienze di profilatura disponibili nella Creazione guidata sessione di prestazioni sono state spostate nel Profiler prestazioni.In Visual Studio 2019, the profiling experiences that were available in the Performance Wizard have been moved to the Performance Profiler. È possibile trovare lo strumento di utilizzo della CPU per il campionamento e la strumentazione nello strumento relativo nel Profiler prestazioni.You can find the CPU Usage Tool for sampling, and instrumentation in the Instrumentation tool in the Performance Profiler. Con questa modifica la Creazione guidata sessione di prestazioni non è più necessaria e pertanto è stata rimossa da Visual Studio 2019.With this change the Performance Wizard is no longer needed and has been removed from 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.Additionally, the sampling option in the VS Performance command line tools have been removed, a replacement command line tool will be released in an upcoming preview.

Strumenti di testTest Tools

  • È 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.You can now right-click on tests, test classes or test projects in the Solution Explorer to run or debug tests.
  • Le esecuzioni dei test rilevano ora automaticamente l'architettura del processore impostata nelle proprietà del progetto.Test runs now auto-detect what processor architecture is set in the project properties.
  • Gli strumenti di test dell'interfaccia utente OSS, ad esempio Selenium e Appium, si sono sviluppati e dispongono di un forte supporto della community.OSS UI test tools such as Selenium and Appium have gained momentum and have a strong community backing. 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.Because these frameworks have become industry standards, we deprecated Coded UI test for automated UI-driven functional testing. Visual Studio 2019 rappresenterà l'ultima versione di Visual Studio con le funzionalità di test dell'interfaccia utente codificato.Visual Studio 2019 will be the final version of Visual Studio with Coded UI test features. È consigliabile usare Selenium per eseguire il test delle applicazioni Web e Appium con WinAppDriver per eseguire il test delle app desktop e UWP.We recommend using Selenium for testing web-applications and Appium with WinAppDriver for testing desktop and UWP apps.
  • Visual Studio 2019 sarà l'ultima versione di Visual Studio con le funzionalità di test di carico.Visual Studio 2019 will be the last version of Visual Studio with load test features. Per i clienti che hanno bisogno di strumenti di test di carico, è consigliabile usare strumenti alternativi, ad esempio Apache JMeter, Akamai CloudTest e Blazemeter.For customers requiring load testing tools, we recommend using alternate load testing tools such as Apache JMeter, Akamai CloudTest, Blazemeter.
  • In Visual Studio 2019 alcune API delle finestre di test contrassegnate in precedenza come pubbliche, ma mai documentate ufficialmente, sono state rimosse.In Visual Studio 2019, some test window APIs that were previously marked public but were never officially documented have been removed. Tali API sono state contrassegnate come deprecate in Visual Studio 2017 per comunicare in anticipo un avviso ai gestori delle estensioni.They were marked deprecated in Visual Studio 2017 to give extension maintainers an early warning. In base alla nostra conoscenza, solo poche estensioni dipendono da tali API,To our knowledge, very few extensions have taken a dependency on these APIs. che includono IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken e SearchFilterTokenType.These APIs include IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken and SearchFilterTokenType. Se questa modifica interessa un'estensione in uso, comunicare il problema alla community degli sviluppatori.If this change affects your extension, please let us know by submitting an issue on Developer Community.

Visual Studio Tools per KubernetesVisual Studio Kubernetes Tools

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.The Visual Studio Kubernetes Tools, which were previously available as a separate extension for Visual Studio 2017, are now integrated into the Azure development workload in Visual Studio 2019.

Aggiunta del supporto per Kubernetes in un nuovo progettoAdding Kubernetes support to a new project

Per aggiungere il supporto per Kubernetes in un nuovo progetto, aprire Visual Studio e selezionare l'opzione Crea un nuovo progetto.To add Kubernetes support to a new project, open Visual Studio and select the Create a new project option. Nella finestra Crea un nuovo progetto cercare Kubernetes e selezionare il modello di progetto Container Application for Kubernetes (Applicazione contenitore per Kubernetes).In the Create a new project window, search for Kubernetes and select the Container Application for Kubernetes project template.

Creating a Container Application for Kubernetes
Creazione di un'applicazione contenitore per KubernetesCreating a Container Application for Kubernetes

Fare clic su Avanti e immettere nome del progetto, percorso e nome della soluzione.Click Next and enter a project name, location, and solution name. quindi scegliere Crea.Then, click Create. Selezionare il modello di applicazione ASP.NET Core che si vuole usare per il progetto e fare clic su OK.Select the ASP.NET Core application template you want to use for your project and click 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.Visual Studio will automatically create a Dockerfile and Helm chart that you can use to build and deploy your new application to a Kubernetes cluster. È possibile modificare questi elementi in base alle esigenze.You can modify these artifacts as needed.

Aggiunta del supporto per Kubernetes in un progetto esistenteAdding Kubernetes support to an existing project

È anche possibile aggiungere il supporto per Kubernetes in un'applicazione ASP.NET Core esistente.You can also add support for Kubernetes to an existing ASP.NET Core application. A questo scopo, aprire il progetto in Visual Studio 2019.To do this, open the project 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).In Solution Explorer, right click on the project, point to Add, and click Container Orchestrator Support.

Adding container orchestrator support
Aggiunta del supporto per l'agente di orchestrazioneAdding container orchestrator support

Nella finestra di dialogo Add Container Orchestrator Support (Aggiungi supporto per agente di orchestrazione) scegliere Kubernetes/Helm e fare clic su OK.In the Add Container Orchestrator Support dialog, choose Kubernetes/Helm and click 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.Visual Studio will automatically create a Dockerfile and Helm chart (in a folder named charts) that you can use to build and deploy your application to a Kubernetes cluster. Se uno o entrambi questi elementi sono già presenti, non verranno sovrascritti.If either of these artifacts are already in place, they will not be overwritten. È possibile modificare questi elementi in base alle esigenze.You can modify these artifacts as needed.

Creazione di un endpoint accessibile pubblicamenteCreating a publicly accessible endpoint

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.When you add Kubernetes support to a new or existing project, Visual Studio will ask you if you want to create a publicly accessible endpoint for your application.

Publicly accessible endpoint prompt
Richiesta relativa all'endpoint accessibile pubblicamentePublicly accessible endpoint prompt

Se si fa clic su , 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.If you click Yes, Visual Studio will configure the Helm chart for your application to create a Kubernetes ingress object when the application is deployed to a Kubernetes cluster. È possibile modificare questa opzione in qualsiasi momento modificando il grafico Helm.You can change this option at any time by modifying the Helm chart.

Debug dell'applicazione nel servizio Azure KubernetesDebugging your application in Azure Kubernetes Service

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.Once you have added Kubernetes support to a new or existing project, you can easily build, run, and debug your application in a live Azure Kubernetes Service (AKS) cluster, using a feature called 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.This is useful for testing your project in the context of an actual Kubernetes cluster or for debugging a service that is part of a much larger application without having to replicate the entire application locally. Azure Dev Spaces include anche una funzionalità che permette al team di sviluppo di condividere un cluster del servizio Azure Kubernetes.Azure Dev Spaces also includes functionality that allows your development team to share an AKS cluster. Per altre informazioni su Azure Dev Spaces, vedere la documentazione di Azure Dev Spaces.For more information on Azure Dev Spaces, see the Azure Dev Spaces documentation. Per iniziare, assicurarsi che Azure Dev Spaces sia selezionato come destinazione di avvio del debug in Visual Studio.To get started, ensure that Azure Dev Spaces is selected as the debug launch target in Visual Studio.

Selecting Azure Dev Spaces as debug launch target
Selezione di Azure Dev Spaces come destinazione di avvio del debugSelecting Azure Dev Spaces as debug launch target

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.Before launching your project in Dev Spaces for the first time, configure the Azure subscription and AKS cluster that you wish to use. Inoltre, selezionare lo spazio in cui si vuole eseguire il progetto.Also, select the space where you wish to run the project.

Configuring Azure Dev Spaces
Configurazione di Azure Dev SpacesConfiguring Azure Dev Spaces

In genere, il team esegue la versione stabile più recente dell'intera applicazione nello spazio predefinito.Typically, your team runs the latest stable version of the entire application in the default space. Si esegue quindi la versione del servizio usata in uno spazio figlio dello spazio predefinito.Then, you run your version of the service you are working on in a child space of the default space. 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.There is now no need to run the other services in the child space; Dev Spaces automatically routes calls from your service to the stable versions of the services running in default. Per altre informazioni su come eseguire questa configurazione, vedere le esercitazioni di sviluppo per i team nella documentazione di Azure Dev Spaces.For more information on how to set this up, see the team development tutorials in the Azure Dev Spaces documentation. Dopo aver selezionato la sottoscrizione, il cluster e lo spazio corretti, fare clic su OK per procedere con la configurazione di Azure Dev Spaces.Once you have selected the correct subscription, cluster, and space, click OK to proceed with the Dev Spaces configuration. 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.If you select a cluster that does not already have an associated Dev Spaces controller, click OK in the following dialog box to create one automatically.

Enable Dev Spaces dialog
Finestra di dialogo per l'abilitazione di Azure Dev SpacesEnable Dev Spaces dialog

Per la creazione del controller sono necessari circa 2 minuti.Controller creation takes about 2 minutes. È possibile fare clic sul pulsante Attività in background nell'angolo inferiore sinistro della finestra di Visual Studio per visualizzare lo stato.You can click on the Background Tasks button in the lower left corner of the Visual Studio window to see the status.

Azure Dev Spaces controller creation status via Background Tasks
Stato di creazione del controller Azure Dev Spaces tramite Attività in backgroundAzure Dev Spaces controller creation status via Background Tasks

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.Once you have a Dev Spaces controller ready to go, press F5 or click the Azure Dev Spaces debug button on the toolbar to debug your project in AKS.

Azure Dev Spaces debug button
Pulsante di debug di Azure Dev SpacesAzure Dev Spaces debug button

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.Dev Spaces will synchronize your code to Azure, build a container image containing your code, and deploy it to your AKS cluster using the Helm chart defined in your project. 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.Visual Studio will open up a remote debug connection to the service running in the cluster so you can interact with it just as you would when debugging a service running locally.

Sviluppo per dispositivi mobili con XamarinMobile Development with 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.This release includes improvements to workload size and Android build performance and reliability, as well as enhancements for Xamarin.Android and Xamarin.Forms productivity.

  • 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.The Xamarin workload is now just 7.69GB, a 2x reduction from Visual Studio 2017 version 15.9 and a 3x improvement over version 15.7.
  • L'estensione IntelliCode ora supporta codice XAML di Xamarin.Forms.The IntelliCode extension now supports Xamarin.Forms XAML.
File > Nuovo progettoFile > New Project

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.We made performance improvements aimed at reducing the time it takes to create a new Xamarin project so you can start building your apps faster. 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.We also now include the NuGet packages used by the templates as part of the workload installation in order to reduce package restore time, especially in low bandwidth or offline situations. In alcuni casi, questi miglioramenti riducono quasi del 50% il tempo necessario per caricare e ripristinare completamente un nuovo progetto Xamarin.These improvements reduce the time for a new Xamarin project to be completely loaded and restored by almost 50% in some cases.

New Xamarin project comparison gif
Creazione di un nuovo progetto Xamarin in Visual Studio versione 15.9 (a sinistra) e Visual Studio 2019 (a destra)Creating a new Xamarin project in Visual Studio version 15.9 (left) and Visual Studio 2019 (right)
Indicatore dello stato di compilazioneBuild progress indicator

È ora possibile visualizzare informazioni più dettagliate sullo stato di compilazione durante la compilazione dei progetti.You can now see more detailed build progress information when building your projects. Facendo clic sull'icona Attività in background nell'angolo inferiore sinistro durante una compilazione, verrà visualizzata la destinazione di compilazione corrente in esecuzione.Clicking the background tasks icon in the bottom left corner during a build will display the current build target that is running. Questo può essere utile per determinare se la compilazione è ancora in esecuzione, ma il completamento di una destinazione sta impiegando molto tempo.This can be useful for determining if the build is still running but a target is taking a long time to complete.

Xamarin build progress indicator
Indicatore dello stato di compilazione XamarinXamarin build progress indicator
Modalità di anteprima di base del visualizzatore anteprima di Xamarin.FormsXamarin.Forms Previewer's Basic Preview mode

Non è più necessario compilare il progetto per il visualizzatore anteprima XAML di Xamarin.Forms per vedere un'anteprima del codice.You no longer have to build your project for the Xamarin.Forms XAML Previewer to show you a preview of your code! 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.If you have custom controls in your XAML file, you might need to build your project to preview those, or opt them into design time rendering.

Elenco a discesa dei dispositivi nel visualizzatore anteprima di Xamarin.FormsXamarin.Forms Previewer device drop-down

È 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.You can now swap between different Android and iOS devices to preview your Xamarin.Forms XAML on using our new device drop-down menu.

Xamarin.Forms Device Drop-Down
Menu a discesa dei dispositivi di Xamarin.FormsXamarin.Forms Device Drop-Down
Pannello delle proprietà di Xamarin.FormsXamarin.Forms Property Panel

È 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.You can now edit the most common attributes of Xamarin.Forms controls, cells, and layouts in a property panel and see those changes reflected immediately in your XAML.

Xamarin.Forms Property Panel
Pannello delle proprietà Xamarin.FormsXamarin.Forms Property Panel
Modello di shell di Xamarin.FormsXamarin.Forms Shell template

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.We updated the Xamarin.Forms templates to use the latest Xamarin.Forms release and also added a new template option for a Xamarin.Forms Shell app. 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.Shell aims to reduce the complexity of apps while increasing developer productivity and focusing on rendering speed and memory consumption. Questo modello offre un'app shell con bootstrap per Android e iOS.This template gives you a bootstrapped Shell app for Android and iOS.

Prestazioni e affidabilità della compilazione AndroidAndroid Build performance and reliability

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 2017 version 15.9 and Visual Studio for Mac 7.7, we made initial build performance and build correctness improvements. In Visual Studio 2019 e Visual Studio per Mac 7.8 la compilazione e la distribuzione sono ancora più veloci.In Visual Studio 2019 and Visual Studio for Mac 7.8, we made building and deploying even faster.

Android Build Performance
*La compilazione di Android è ora estremamente veloce**Android Build Now Faster than Grabbing a Cup of Coffee*
  • È ora possibile usare gli strumenti di Android di nuova generazione.You will now make use of Android's next generation packaging tooling. Per abilitare questa funzionalità, aggiungere un flag MSBuild all'elemento .csproj del progetto:To enable this feature, add an MSBuild flag in your project's .csproj:
    • aapt2 divide la creazione del pacchetto Android in due passaggi: compilazione e collegamento.aapt2 divides Android packaging into two steps: Compile and Link. In questo modo vengono migliorate le prestazioni per le compilazioni incrementali e vengono segnalati tempestivamente gli errori.This improves performance for incremental builds and provides earlier error reporting. Se ad esempio sono presenti modifiche in un singolo file, è sufficiente ricompilare tale file.For example, if there are changes in a single file, you only need to recompile that file. <AndroidUseAapt2>True</AndroidUseAapt2>
  • Se si abilita questo strumento nei progetti, si ottimizzano le prestazioni sia in fase di compilazione che in fase di esecuzione.By enabling this tool in your projects, you enable enhanced performance at both build time and runtime. Per altre informazioni su queste proprietà, vedere la documentazione sul processo di compilazione in Xamarin.Android.For more details on these properties, see our documentation on the Build Process in Xamarin.Android.
Miglioramenti dell'emulatore AndroidAndroid Emulator improvements

In Visual Studio 2019 le immagini dell'emulatore Android sono più semplici da creare.In Visual Studio 2019, Android emulator images are easier to create. 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.We've also continued to work with the Windows team in the Windows 10 October 2018 Update, version 1809, to improve the performance of the Android emulator when running on Hyper-V.

  • I nuovi utenti possono creare la prima immagine semplicemente premendo l'icona di esecuzione.New users can create their first image by simply pressing the run icon.
  • 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.Our emulator acquisition experience automatically determines the best configuration for your setup and takes advantage of hardware acceleration (with Intel HAXM or Hyper-V) and quick boot by default.
  • Quando si vuole creare un'altra immagine, è possibile selezionare Crea emulatore Android nell'elenco a discesa per aprire Android Device Manager.When you want to create another image, you can select Create Android Emulator from the dropdown to open the Android Device Manager.
Accelerazione dei tempi di compilazione grazie ai miglioramenti per la compilazione in Xamarin.AndroidSpeed up your build times with our improvements for build in Xamarin.Android

È stato introdotto un insieme di miglioramenti per le prestazioni di compilazione iniziale.We have released a set of initial build performance improvements. A partire da oggi, Xamarin.Android 9.1.1+ include miglioramenti significativi per le prestazioni di compilazione rispetto alla versione precedente.As of today, Xamarin.Android 9.1.1+ includes significant build performance improvements in comparison to the previous release. Vedere le tabelle di confronto delle prestazioni tra Xamarin.Android 15.9 e 16.0 per altre informazioni.Check out our Xamarin.Android 15.9 vs. 16.0 build performance comparison for more details.

Funzionalità Fast Deployment migliorata per Xamarin.AndroidEnhanced Fast Deployment for 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.Fast Deployment has up until now provided faster incremental deployment times by skipping over rebuilding or redeploying the Android package (.apk file) in scenarios where no changes have been made to any assets, resources, shared native libraries packaged within the app, or user-defined classes that inherit from 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.Enhanced Fast Deployment expands support for fast deployment to cover both shared native libraries and classes that inherit from 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.Fast deployment builds that use these new enhancements will only need to generate a new .apk file in a limited number of scenarios, such as when the AndroidManifest.xml file changes due to addition of a new Android.App.Application or Activity subclass. Questi miglioramenti non sono ancora abilitati per impostazione predefinita nell'anteprima corrente.These enhancements are not yet enabled by default in the current preview. Per abilitarli, impostare la proprietà MSBuild $(AndroidFastDeploymentType) su Assemblies:Dexes nel file CSPROJ:To enable them, set the $(AndroidFastDeploymentType) MSBuild property to Assemblies:Dexes in your .csproj file:

<PropertyGroup> 
  <AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType> 
</PropertyGroup>
Supporto di Dex Compiler(d8) e Code Shrinker(r8) di nuova generazione in Xamarin.AndroidNext-generation Dex Compiler(d8) and Code Shrinker(r8) support in Xamarin.Android

Xamarin.Android supporta ora il compilatore dex (d8) e lo strumento di compressione del codice (r8) di Android.Xamarin.Android now supports the latest Android dex compiler(d8) and code shrinker (r8). Per abilitare queste funzionalità, impostare le proprietà MSBuild $(AndroidDexTool) e $(AndroidLinkTool) rispettivamente su d8 e r8 nel file CSPROJTo enable these features, set the $(AndroidDexTool) and $(AndroidLinkTool) MSBuild property to d8 and r8 respectfully in your .csproj file

  • d8 è un compilatore dex di nuova generazione che viene eseguito più rapidamente e produce file DEX di dimensioni minori con prestazioni di runtime migliori.d8 is a next-generation dex compiler that runs faster and produces smaller .dex files with better runtime performance.
<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.r8 is a new tool for shrinking and minification that converts Java bytecode to optimized dex code that replaces the need for ProGuard.
<PropertyGroup> 
  <AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>

Per altri dettagli su d8 e r8, vedere la documentazione.For more details on d8 and r8, check out our documentation.

Miglioramenti di Xamarin.Android DesignerXamarin.Android Designer enhancements

Sono stati apportati numerosi miglioramenti alla produttività per le interazioni in doppia visualizzazione.We have made a number of productivity enhancements to the interactions in Split View.

  • 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.Drag and drop directly from the toolbox to the source editor to help quickly scaffold your Android layouts.
Android Designer Toolbox to Source Editor
  • Selezione degli elementi direttamente dall'ambito di definizione XML nell'editor di origine.Select elements directly from their XML definition span in the source editor. 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.We implemented this by synchronizing the caret position with the corresponding Android view, allowing you to quickly access an element's properties in the property panel right from the editor.
Android Designer Source Editor to Property Editor
  • Uso di un'anteprima di colore inline per il codice XML in modo che sia possibile visualizzare i colori usati nei controlli.Use an inline color preview to your XML code so you can see what colors are being used in your controls.
Android Designer Color Preview
  • 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.Use our quick info feature by hovering over a value to find out more about it, such as where it's defined or what the hexadecimal value for the color is.
Android Designer Quick Info
*Informazioni rapide in azione**Quick Info in Action*
Miglioramenti di Xamarin.Android Designer con il supporto iniziale per layout con vincoliXamarin.Android Designer improvements with initial support for constraint layouts

Microsoft è impegnata a migliorare la velocità di avvio di Android Designer.We’ve begun an effort to improve startup speed of the Android Designer. Come parte di questo impegno, è stata anche migliorata la messaggistica fornita dalla finestra di progettazione durante il caricamento.As part of this effort, we have also improved the messaging that the designer provides while it is loading.

Android Designer Output

Insieme a questi miglioramenti, Android Designer supporta ora in modo nativo Android Pie (9.0) e offre il completamento automatico per attributi ConstraintLayout.Alongside these improvements, the Android Designer now natively supports Android Pie (9.0) and provides autocompletion for ConstraintLayout attributes.

Ottimizzazioni per IntelliSense XML e per i commenti con Xamarin.Android DesignerGet better XML IntelliSense and Commenting optimizations with the 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.When using IntelliSense to add a widget to a layout, a full snippet experience is now provided so that required attributes can be supplied from the start. Sono state aggiunte funzionalità intelligenti per l'aggiunta e la rimozione dei commenti per i layout XML per Android.We have added smart commenting and uncommenting for Android XML layouts.

Miglioramento della produttività con Vai a definizione e uso di IntelliSense XML all'interno di file di risorse di Android e in AndroidManifest.xmlBe more productive by using Go-To-Definition and use XML IntelliSense within Android resource files and AndroidManifest.xml

È ora possibile fare clic tenendo premuto CTRL negli URL di risorsa per passare al file o alla riga in cui sono definiti.You can now Ctrl + Click on resource URLs to navigate to the file or line where they are defined.

Android Designer Go-To-Definition

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).IntelliSense/Autocompletion is now supported for other Android XML files other than layouts (colors, strings, drawables, menu, Android manifest, etc.).

Piattaforma UWP (Universal Windows Platform)Universal Windows Platform

  • L'estensione IntelliCode ora supporta XAML.The IntelliCode extension now supports XAML.
  • Per ridurre la complessità e le dimensioni di installazione di Visual Studio, gli emulatori di Windows Phone sono stati rimossi dall'installazione stessa.To reduce Visual Studio setup complexity and size, Windows Phone emulators have been removed from Visual Studio installation. È quindi necessario scaricare gli emulatori manualmente.You will now need to download the emulators manually.
  • 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.XAML design time tooling for UWP apps targeting Windows 10 SDKs before the Windows 10 Fall Creators Update (build 16299) has been removed. 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.Retarget your applications to Windows 10 version 1709 or higher to use the XAML Designer, or use the XAML editor.
  • I progetti di test della piattaforma UWP che usano project.json per definire le dipendenze di NuGet non sono più supportati.UWP test projects using project.json to define NuGet dependencies are no longer supported. Per usare il nuovo formato PackageReference, è necessario aggiornare il progetto.You must upgrade your project to use the new PackageReference format.
  • Le app UWP JavaScript non sono più supportate in Visual Studio 2019.UWP JavaScript apps are no longer supported in Visual Studio 2019. Non è possibile creare o aprire progetti JavaScript della piattaforma UWP (file con estensione jsproj).You cannot create or open JavaScript UWP projects (files with extension jsproj). Per altre informazioni, leggere la documentazione sulla creazione delle app Web progressive eseguite in modo corretto in Windows.You can learn more via our documentation on creating Progressive Web Apps (PWAs) that run well on 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.You can continue to attach to JavaScript UWP apps as before, however the JavaScript profiling tools (Network ,CPU and Memory Profiler) are no longer available in Visual Studio 2019.

Aggiornamenti dei modelli degli strumenti di OfficeOffice Tools Template Updates

In Visual Studio 2019 sono state apportate alcune modifiche ai modelli di Office, SharePoint e Visual Studio Tools per Office.In Visual Studio 2019, we made a few changes to the Office, SharePoint, and VSTO templates.

  • I modelli di SharePoint 2019 aggiunti in Visual Studio 2017 15.9 sono disponibili anche in Visual Studio 2019.The SharePoint 2019 templates that were added in Visual Studio 2017 15.9 are also available 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.We have removed support for SharePoint Sequential Workflow or State Machine Workflows. 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.While you will not be able to create or open these workflows in Visual Studio 2019, you can continue to edit them in previous releases of Visual Studio.
  • I modelli di Office 2010 non sono più disponibili.Office 2010 templates will no longer be available. È comunque possibile aprire progetti esistenti di Office 2010 in Visual Studio 2019.However, you can still open existing Office 2010 projects in Visual Studio 2019.
  • I modelli di Office 2013 e 2016 sono stati rinominati per riflettere il supporto di Office 2013 e versioni successive.The Office 2013 and 2016 templates have been renamed to reflect that they support Office 2013 and above.

Team Explorer e Azure DevOpsTeam Explorer and 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.We are releasing a new, streamlined, developer-centric experience when connecting Team Explorer to an Azure DevOps project.

  • 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.Focus on relevant work items by filtering and pivoting your view based on work items assigned to you, ones that you're following, ones where you're mentioned in the discussion, and ones based on your activity.

    • 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.Within each view, you can create a work item inline, perform simple inline edits, mark a work item as complete, and associate a work item to pending changes.
  • 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.Create a local branch from a work item which will automatically relate the work item to the changes made to that local branch. Questa è l'esperienza predefinita.This is the default experience. Per passare all'esperienza legacy, impostare l'esperienza Elementi di lavoro in Visual Studio.Should you want to switch to the legacy experience, you can by setting the Work Items experience in Visual Studio. Si noti che questa nuova esperienza è valida solo per repository Git. La nuova esperienza per i repository del controllo della versione di Team Foundation sarà disponibile in un aggiornamento seguente.Note that this new experience is only true for Git repos. The new experience for TFVC repos will available in a following update.

    Azure DevOps Work Item Hub
    *Hub degli elementi di lavoro in Azure DevOps**Azure DevOps Work Item Hub*
  • Ricerca degli elementi di lavoro quando si inserisce una menzione nel messaggio di commit delle modifiche in sospeso.Search for work items when doing a #mention in the pending changes commit message. 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).For more details, see the View and add work items using the Work Items page.

    Azure DevOps #mentions
    *Menzioni in Azure DevOps**Azure DevOps #mentions*
  • 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.Support for Microsoft Project has been removed from the Team Foundation Server Office Integration 2019 plug-in for Visual Studio 2019 due to a low adoption rate in Azure DevOps. È necessario pertanto esportare gli elementi di lavoro in Excel e incollarli manualmente in Project.You will now need to export your work items to Excel and manually paste them into Project.

  • Il supporto per PowerPoint è stato rimosso dal plug-in Integrazione di Office con Team Foundation Server 2019 per Visual Studio 2019.Support for PowerPoint has been removed from the Team Foundation Server Office Integration 2019 plug-in for Visual Studio 2019. Gli utenti possono comunque creare storyboard di PowerPoint e collegarli manualmente a elementi di lavoro in DevOps di Azure.However, users can still create storyboards in PowerPoint and link them manually to work items in Azure DevOps.

Application Insights e HockeyAppApplication Insights and HockeyApp

  • La finestra Tendenze di Application Insights è stata rimossa in Visual Studio 2019 per essere sostituita con alternative con maggiori funzionalità.The Application Insights Trends window has been removed in Visual Studio 2019 in favor of alternatives that are more feature-rich. È 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.Instead, you can use the Application Insights Search window in Visual Studio or the rich set of diagnostics tools in Application Insights in the Azure portal.
  • Sono state rimosse le procedure guidate per l'aggiunta di HockeyApp SDK e per la creazione di nuove distribuzioni beta.The wizards for adding the HockeyApp SDK and creating new beta distributions have been removed. È consigliabile usare Visual Studio App Center, componente successore di HockeyApp.We instead recommend using Visual Studio App Center, the successor to HockeyApp. È comunque possibile usare HockeyApp normalmente, ma senza questi collegamenti in Visual Studio.You can still use HockeyApp normally, except without these shortcuts in Visual Studio.

Release Notes Icon Problemi risolti in Visual Studio 2019 RCIssues fixed in Visual Studio 2019 RC

Data ultimo aggiornamento: 26 aprile 2019most recently updated on April 26, 2019


Problemi notiKnown Issues

Vedere tutti i problemi noti e le soluzioni alternative disponibili in Visual Studio 2019 versione 16.0 facendo clic sul collegamento seguente.See all existing known issues and available workarounds in Visual Studio 2019 version 16.0 by following the below link.

Visual Studio 2019 Known Issues Visual Studio 2019 Known Issues


Feedback e suggerimentiFeedback and suggestions

Le opinioni dei nostri clienti sono molto importanti per noi.We would love to hear from you! È 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.For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. Alla classeThe Feedback Icon L'icona si trova nell'angolo superiore destro.icon is located in the upper right-hand corner. È 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à.You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. È anche possibile usufruire gratuitamente del supporto per l'installazione con Assistenza live chat.You can also get free installation help through our Live Chat support.


BlogBlogs

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à.Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.


Cronologia delle note sulla versione di Visual Studio 2019Visual Studio 2019 Release Notes History

Per altre informazioni relative a versioni precedenti di Visual Studio 2019, vedere la pagina Cronologia delle note sulla versione di Visual Studio 2019.For more information relating to past versions of Visual Studio 2019, see the Visual Studio 2019 Release Notes History page.


Inizio pagina

Top of Page