Visual Studio Icon Note sulla versione di Visual Studio 2019 versione 16.1Visual Studio 2019 version 16.1 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.1What's New in Visual Studio 2019 version 16.1

Rilasci di Visual Studio 2019 versione 16.1Visual Studio 2019 version 16.1 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. È possibile trovare informazioni approfondite sulle versioni di Visual Studio 2019 nei post seguenti:You can find in-depth information about the Visual Studio 2019 releases in the following posts:


Release Notes Icon

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

Riepilogo dei problemi risolti in Visual Studio 2019 versione 16.1.6Summary of issues addressed in Visual Studio 2019 version 16.1.6

Notifiche di avvisi di sicurezzaSecurity Advisory Notices

CVE-2019-1077 Vulnerabilità dell'estensione durante l'aggiornamento automatico in 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-1075 Vulnerabilità di spoofing in ASP.NET CoreCVE-2019-1075 ASP.NET Core Spoofing Vulnerability

Esiste una vulnerabilità di spoofing in ASP.NET Core che potrebbe causare un reindirizzamento aperto.A spoofing vulnerability exists in ASP.NET Core that could lead to an open redirect. Un utente malintenzionato potrebbe sfruttare questa vulnerabilità per reindirizzare un utente specifico a un sito Web dannoso.An attacker who successfully exploited the vulnerability could redirect a targeted user to a malicious website. Per sfruttare la vulnerabilità, un utente malintenzionato potrebbe inviare un collegamento contenente un URL appositamente creato e convincere l'utente a selezionare il collegamento.To exploit the vulnerability, an attacker could send a link that has a specially crafted URL and convince the user to click the link.

L'aggiornamento della sicurezza risolve la vulnerabilità correggendo il modo in cui gli URL vengono analizzati da ASP.NET Core.The security update addresses the vulnerability by correcting how ASP.NET Core parses URLs. I dettagli sono disponibili nelle Note sulla versione di .NET Core.Details can be found in the .NET Core release notes.

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/en-us/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.For further information, please refer to https://support.microsoft.com/en-us/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.


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

Data di rilascio: 2 luglio 2019released July 2, 2019

Riepilogo dei problemi risolti in Visual Studio 2019 versione 16.1.5Summary of issues addressed in Visual Studio 2019 version 16.1.5


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

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

Riepilogo dei problemi risolti in Visual Studio 2019 versione 16.1.4Summary of issues addressed in Visual Studio 2019 version 16.1.4


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

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

Riepilogo dei problemi risolti in Visual Studio 2019 versione 16.1.3Summary of issues addressed in Visual Studio 2019 version 16.1.3


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

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

Riepilogo dei problemi risolti in Visual Studio 2019 versione 16.1.2Summary of issues addressed in Visual Studio 2019 version 16.1.2


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

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

Riepilogo dei problemi risolti in Visual Studio 2019 versione 16.1.1Summary of Issues addressed in Visual Studio 2019 version 16.1.1


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

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

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

IDEIDE

  • Visual Studio IntelliCode è ora disponibile a livello generale e viene installato con qualsiasi carico di lavoro che supporta C#, C++, TypeScript/JavaScript o XAML.Visual Studio IntelliCode is now generally available and comes installed with any workload that supports C#, C++, TypeScipt/JavaScript, or XAML.
  • È stato aggiunto il supporto per la compatibilità del monitor.Added Per-Monitor Awareness support.
  • Sono disponibili nuove correzioni di codice per C#.New codefixes are available for C#.
  • È stata aggiunta l'opzione Elementi usati più di recente alla ricerca in Visual Studio.Most Recently Used has been added to Visual Studio Search.

DebuggerDebugger

  • Sono stati implementati miglioramenti dell'autenticazione del collegamento all'origine.Source Link authentication improvements have been implemented.
  • È stato aggiunto il server di simboli nuget.org all'elenco di server di simboli predefinito.Added nuget.org symbol server to the list of default symbol servers.
  • L'anteprima di Debug spostamento cronologico include ora il supporto dell'esecuzione di istruzioni di eccezione.Time Travel Debugging preview now includes exception stepping support.

EstendibilitàExtensibility

  • È stata eliminata la necessità di file RESX in progetti VSIX (aggiornamento BuildTools).Removed the need for .resx file in VSIX projects (BuildTools update).
  • Il modello di progetto VSIX usa ora la nuova versione dell'SDK.VSIX Project template now uses the new SDK version.

PrestazioniPerformance

  • Esperienza di ottimizzazione per gli utenti per migliorare il tempo di caricamento di soluzioni di dimensioni molto grandi.User optimization experience to improve the solution load time of very large solutions.
  • Gli autori di modelli possono aggiungere tag personalizzati ai modelli.Template authors can add custom tags to their templates.
  • Supporto CodeLens per interfaccia utente personalizzata.CodeLens support for custom UI.
  • Sono stati resi disponibili aggiornamenti per l'implementazione del protocollo di server di linguaggio.Provided updates to Language Server Protocol implementation.
  • Comportamento aggiornato per il passaggio tra soluzioni, cartelle e altre visualizzazioni.Updated behavior for switching between solutions, folders, and other views.

C++C++

F#F#

  • Sono stati resi disponibili miglioramenti per le prestazioni e molte correzioni di bug per F# e strumenti F#.Released performance improvements and a bulk of bug fixes for F# and F# tooling.

.NET.NET

  • Le nuove funzionalità di produttività .NET includono la pulizia del codice con un clic per progetti e soluzioni, una nuova scelta rapida da tastiera per Attiva/Disattiva commento per il blocco, il refactoring per lo spostamento dei tipi in altri spazi dei nomi.New .NET productivity features include one-click code cleanup on projects and solutions, a new toggle block comment keyboard shortcut, refactoring to move types to other namespaces.
  • Gli utenti possono ora clonare codice da un URI SSH tramite la schermata di clonazione nella finestra di avvio.Users can now clone code from an SSH URI through the clone screen in the start window.
  • Le funzionalità aggiunte per la produttività .NET includono il completamento di IntelliSense per tipi non importati, un comando di aggiunta/rimozione di commenti a riga singola, l'esportazione di stili di denominazione in editorconfig e una nuova impostazione per lo stile del codice per scegliere l'uso di direttive using all'interno o all'esterno degli spazi dei nomi.Additions to .NET Productivity include intellisense completion for unimported types, toggling single-line comment/uncomment, exporting naming styles to editorconfig, and a new code style setting for preferring usings inside/outside namspaces.
  • Sono state implementate alcune aggiunte per gli strumenti .NET SDK per supportare progetti Windows Form e WPF per .NET Core 3.0, insieme ad alcuni miglioramenti per le prestazioni e correzioni di bug.Implemented .NET SDK tooling additions around supporting WinForms and WPF projects for .NET Core 3.0 along with bug fixes and performance improvements.
  • Visual Studio SDK v16.0 rilasciato in NuGet.Visual Studio SDK v16.0 released to NuGet.
  • È disponibile un'anteprima della finestra di progettazione XAML per lo sviluppo di .NET Core 3.0 WPF.Released a preview of the XAML Designer for .NET Core 3.0 WPF development.

XamarinXamarin

Principali problemi risolti in Visual Studio 2019 versione 16.1Top Issues Fixed in Visual Studio 2019 version 16.1

Dettagli delle novità di Visual Studio 2019 versione 16.1Details of What's New in Visual Studio 2019 version 16.1

IDEIDE

  • IntelliCode è ora disponibile a livello generale e viene installato con qualsiasi carico di lavoro che supporta C#, C++, TypeScript/JavaScript o XAML.IntelliCode is now generally available and comes installed with any workload that supports C#, C++, TypeScipt/JavaScript, or XAML.
  • Le funzionalità in anteprima di IntelliCode, tra cui i modelli personalizzati, il supporto per C++/TS/JS e l'inferenza di Editorconfig, sono disabilitate per impostazione predefinita.Preview IntelliCode features - Custom Models, C++/TS/JS support, and Editorconfig inference - are disabled by default. Per abilitarle, passare a Strumenti > Opzioni > IntelliCode.To enable them, go to Tools > Options > IntelliCode.
  • È stato rimosso il modello Editorconfig (IntelliCode) dalla Creazione guidata nuovo elemento.Removed the Editorconfig (IntelliCode) template from the New Item Wizard. Per creare un file EditorConfig dedotto, fare clic con il pulsante destro del mouse sulla posizione desiderata in Esplora soluzioni e scegliere Aggiungi > Nuovo EditorConfig (IntelliCode) .To create an inferred Editorconfig, right-click on the desired location in Solution Explorer and choose Add > New EditorConfig (IntelliCode).
  • È possibile usare la finestra di avvio per clonare codice da un repository online tramite SSH.Use the start window to clone code from an online repository through SSH.
Clone with SSH on start window
Clonazione di codice con SSH nella finestra di avvioClone with SSH on start window
  • Visual Studio IntelliCode è installato per impostazione predefinita quando si installa un carico di lavoro che supporta C#, XAML o C++.Visual Studio IntelliCode is installed by default when you install a workload that supports C#, XAML, or C++.
    • I modelli di base XAML e C# verranno attivati per impostazione predefinita.C# and XAML base models will be on by default.
    • Le funzionalità di anteprima, come il training del modello personalizzato e il completamento degli argomenti, possono essere abilitate da Strumenti > Opzioni > IntelliCode.Preview features, such as custom model training and argument completion, can be enabled via Tools > Options > IntelliCode.
  • Supporto per il riconoscimento del monitoraggio aggiuntoAdded Per-Monitor Awareness support
  • Nuove correzioni di codice disponibili per C#.New codefixes available for C#.
  • Aggiunto il supporto per il riconoscimento per monitor per la finestra PropertyBrowser basata su WinForms di Visual Studio.Added Per-Monitor Awareness support for WinForms based PropertyBrowser window of Visual Studio. Richiede l'installazione della versione di .NET Framework 4.8 RTM nel computer.Requires .NET Framework 4.8 RTM version installed on the machine.

DebuggerDebugger

  • Il collegamento all'origine può ora usare l'autenticazione di Windows per il supporto del controllo del codice sorgente TFS in locale.Source Link can now use Windows Authentication to support on-premises TFS Source Control.
  • Server di simboli nuget.org aggiunto all'elenco di server di simboli predefinitoAdded nuget.org symbol server to the list of default symbol servers

ProgettoProject

  • Il pulsante per passare dalla visualizzazione di Esplora soluzioni a un'altra mostra ora in modo coerente un menu a discesa di tutte le visualizzazioni possibili.The button for switching the Solution Explorer view will now consistently shows a dropdown menu of all possible views.
Solution switching
Cambio di visualizzazione in Esplora soluzioniSolution view switching
  • Tempo di caricamento migliorato per soluzioni di dimensioni molto elevate.Improved the loading time for very large solutions. Il miglioramento varia in base alle dimensioni delle soluzioni.The improvement varies based on the size of the solutions.

  • Finestra di dialogo Converti rimossa in File > Converti.Removed the Convert dialog under File > Convert. Questa funzionalità è stata precedentemente deprecata in Visual Studio 2015.This feature was previously deprecated in Visual Studio 2015.

  • Regole di convalida aggiornate per gli schemi task.vs.json e launch.vs.json e aggiunta di descrizioni per le proprietà.Updated the validation rules for the task.vs.json and launch.vs.json schemas, and added descriptions for the properties.

  • Aggiunta del supporto per il debug remoto di Linux tramite un programma personalizzato con launch.vs.json.Added support for Linux remote debugging using a custom program via launch.vs.json.

EstendibilitàExtensibility

  • Gli utenti possono ora usare la versione più recente di Microsoft.VisualStudio.SDK per fare riferimento a Visual Studio 2019 nelle estensioni.Users can now use the latest version of the Microsoft.VisualStudio.SDK to target Visual Studio 2019 in your extensions. Ricordarsi di usare solo questa versione dell'SDK se la versione minima supportata di Visual Studio è la 16.0.Remember to only use this version of the SDK if the lowest supported version of Visual Studio is 16.0.
  • La creazione di nuovi progetti VSIX conterrà ora la versione 16.0 del pacchetto NuGet Microsoft.VisualStudio.SDK.Creating new VSIX projects will now contain the 16.0 version of the the Microsoft.VisualStudio.SDK NuGet package.
  • Gli utenti possono ora aggiungere tag ai modelli di progetto per abilitare la classificazione e i filtri nella finestra di dialogo Nuovo progetto di Visual Studio 2019.Users can now add tags to your project templates to enable categorization and filtering in the Visual Studio 2019 New Project Dialog. Gli utenti possono anche scegliere tra tag predefiniti o tag personalizzati di tipo di progetto, piattaforma e linguaggio.Users can also choose from the built-in tags or their own custom language, platform, and project type tags.
Template tagging
Assegnazione di tag ai modelliTemplate tagging
  • Le estensioni di CodeLens possono ora visualizzare contenuto arbitrario dell'interfaccia utente nei popup dei dettagli di CodeLens.CodeLens extensions can now display arbitrary UI content in their CodeLens details popup.

  • Protocollo di server di linguaggio aggiornato con:Updated Language Server Protocol with:

    • Supporto per i buffer previsti per abilitare LSP per diff inline e file Razor in LiveShare.Support for projected buffers to enable LSP for inline diff, and Razor files in LiveShare.
    • Supporto per diagnostica non necessaria.Support for unnecessary diagnostics.
    • Supporto per textDocument/typeDefinition.Support for textDocument/typeDefinition.
    • Supporto per textDocument/foldingRange (struttura).Support for textDocument/foldingRange (outlining).
  • Necessità di file .resx in progetti VSIX rimossa ( aggiornamento BuildTools)Removed the need for .resx file in VSIX projects (BuildTools update)

  • Il pacchetto NuGet Microsoft.VSSDK.BuildTools offre ora un file con estensione resx vuoto durante la compilazione se non è presente un file con estensione resx con la proprietà MergeWithCTO.The Microsoft.VSSDK.BuildTools NuGet package will now provide an empty .resx file as part of the build if no .resx with MergeWithCTO property exist. Poiché la maggior parte delle estensioni non usano o non richiedono un file con estensione resx per eseguire il merge, ciò consentirà di mantenere pulito il progetto.Most extensions don't use or need a .resx file to merge, so this will keep the project cleaner.

  • Le modifiche alla sensibilità per monitor potrebbero influire su alcune estensioni.Per-monitor awareness changes might affect some extensions. Altre informazioni in Supporto per la sensibilità per monitor per estensioni Visual Studio.Learn more about Per-Monitor Awareness support for Visual Studio extenders.

EditorEditor

  • La ricerca in Visual Studio visualizzerà ora con stato attivo le tre azioni usate più di recente richiamate tramite la ricerca in Visual Studio, come illustrato in questo mockup di esempioVisual Studio Search will now display on focus the three most recently used actions invoked through Visual Studio Search, as shown in this sample mockup. (nota: le icone e gli elementi specifici delle righe non sono stati completamente aggiornati in questo mockup).(Note: icons and specific line items have not been fully updated in this mock-up.)
Visual Studio Search
Mockup della ricerca in Visual StudioMock-up of Visual Studio Search

C++C++

  • È possibile usare l'installazione del sottosistema Windows locale per Linux con C++ in modo nativo in Visual Studio senza alcuna configurazione o connessione SSH aggiuntiva.Use local Windows Subsystem for Linux (WSL) installation with C++ natively in Visual Studio without additional configuration or SSH connection.
Windows Subsystem for Linux
Sottosistema Windows per LinuxWindows Subsystem for Linux
  • AddressSanitizer è ora integrato in progetti Visual Studio per Linux nel sottosistema Windows per Linux.AddressSanitizer is now integrated into Visual Studio for Linux projects and WSL.
ASan integration
Integrazione di ASanASan integration
  • Gli utenti possono ora separare il computer di compilazione remoto dal computer di debug remoto quando la destinazione è Linux in progetti MSBuild e CMake.Users can now separate remote build machines from remote debug machines when targeting Linux in both MSBuild and CMake projects.
  • Le descrizioni comando della finestra Informazioni rapide contengono ora un collegamento per cercare documenti online in modo da ottenere altre informazioni sul costrutto di codice.Quick Info tooltips now contain a link to search for online docs to learn more about the code construct. In caso di codice con sottolineatura rossa, il collegamento nella finestra Informazioni rapide cercherà l'errore online.In the case of red-squiggled code, the link in Quick Info will search for the error online.
  • Il codice all'interno delle descrizioni comando della finestra Informazioni rapide è ora a colori in base ai colori nell'editor.Code within Quick Info tooltips is now colorized to reflect its colorization in the editor.
Colorized code in Quick Info tooltips
Codice colorato nelle descrizioni comando della finestra Informazioni rapideColorized code in Quick Info tooltips
New Code Analysis quick fixes
Nuove correzioni rapide per l'analisi del codiceNew Code Analysis quick fixes
  • Miglioramenti all'Editor impostazioni CMake, tra cui supporto per il sottosistema Windows per Linux (WSL) e configurazioni da cache esistenti, modifiche alle radici di installazione e compilazione predefinite e supporto per le variabili di ambiente nelle configurazioni CMake per Linux.Improvements to the CMake Settings Editor, including support for Windows Subsystem for Linux (WSL) and configurations from existing caches, changes to the default build and install roots, and support for environment variables in Linux CMake configurations.
Improvements to the CMake Settings Editor
Miglioramenti all'editor delle impostazioni di CMakeImprovements to the CMake Settings Editor
  • La registrazione migliorata per le connessioni remote rende più semplice diagnosticare i problemi relativi allo sviluppo multipiattaforma.Improved logging for remote connections makes it easier to diagnose issues with cross-platform development.
Improved logging for remote connections
Miglioramento della registrazione per le connessioni remoteImproved logging for remote connections
  • È ora possibile separare il computer di compilazione remoto dal computer di debug remoto quando la destinazione è Linux (specifico per i progetti MSBuild, presto disponibile per CMake).You can now separate your remote build machine from your remote debug machine when targeting Linux (specific to MSBuild projects, coming soon for CMake).
  • La barra modelli può immettere voci nel menu a discesa in base alla creazione di istanze del modello specifico nella codebase.The Template Bar can populate the dropdown menu based on instantiations of that template in your codebase.
New Template Bar dropdown menu
Nuovo menu a discesa Barra modelloNew Template Bar dropdown menu
  • IntelliCode per C++ è ora incluso e può essere abilitato da Strumenti > Opzioni > IntelliCode > Generale.C++ IntelliCode now ships in-box and can be enabled under Tools > Options > IntelliCode > General. Questa versione di IntelliCode è migliorata in termini di precisione e include il supporto per le funzioni libere.This version of IntelliCode has improved accuracy and includes support for free-functions.
  • L'integrazione di CMake supporta ora la toolchain Clang/LLVM per i progetti destinati a Windows e/o Linux.CMake integration now supports the Clang/LLVM toolchain for projects targeting Windows and/or Linux. È ora possibile compilare, modificare ed eseguire il debug dei progetti CMake che usano Clang, MSVC o GCC.You can now build, edit, and debug CMake projects that use either Clang, MSVC, or GCC.
CMake integration supports the Clang/LLVM toolchain
L'integrazione di CMake supporta la toolchain Clang/LLVMCMake integration supports the Clang/LLVM toolchain
  • Lampadine per #include mancanti installabili da vcpkg e completamento automatico dei pacchetti disponibili per la direttiva CMake find_package.Lightbulbs for missing #includes that can be installed by vcpkg, and autocompletion of available packages for the CMake find_package directive.
Autocompletion of available packages
Completamento automatico dei pacchetti disponibiliAutocompletion of available packages
  • Aggiornamento della versione di CMake fornita con Visual Studio alla versione 3.14.Updated the CMake version that ships with Visual Studio to 3.14. Questa versione aggiunge il supporto integrato per i generatori MSBuild destinati a progetti di Visual Studio 2019, nonché API di integrazione IDE basate su file.This version adds built-in support for MSBuild generators targeting Visual Studio 2019 projects as well as file-based IDE integration APIs.

  • Le pagine delle proprietà generali per i progetti C++ sono state riviste e alcune opzioni sono state incluse in una nuova pagina Avanzate.The General Property Pages for C++ projects has been revised, splitting out some options under a new Advanced page. La pagina Avanzate include anche proprietà aggiuntive per l'architettura preferita del set di strumenti, librerie di debug, la versione secondaria del set di strumenti MSVC e compilazioni Unity (jumbo).The Advanced page also includes additional properties for preferred toolset architecture, debug libraries, the MSVC toolset minor version, and Unity (jumbo) builds.

  • Le funzionalità di anteprima C++20 seguenti sono state aggiunte all'implementazione della libreria standard C++, disponibile in /std:c++latest:The following C++20 preview features have been added to our implementation of the C++ Standard Library, available under /std:c++latest:

    • starts_with() e ends_with() per basic_string/basic_string_view.starts_with() and ends_with() for basic_string/basic_string_view.
    • contains() per i contenitori associativi.contains() for associative containers.
    • remove(), remove_if() e unique() per list e forward_list ora restituiscono size_type.remove(), remove_if(), and unique() for list and forward_list now return size_type.
    • shift_left() e shift_right() aggiunti a <algorithm>.shift_left() and shift_right() added to <algorithm>.
  • Le funzionalità di anteprima C++20 seguenti sono state implementate nel compilatore C++, disponibile in /std:c++latest:The following C++20 preview features have been implemented in the C++ compiler, available under /std:c++latest:

    • Capacità aumentata di trovare modelli di funzione tramite la ricerca dipendente dall'argomento di espressioni di chiamata di funzione con argomenti di modello espliciti (P0846R0).Increased ability to find function templates via argument-dependent lookup for function call expressions with explicit template arguments (P0846R0).
    • Inizializzazione designata (P0329R4), che consente a membri specifici di essere selezionati nell'inizializzazione aggregata, ad esempio usando la sintassi Type t { .member = expr }.Designated initialization (P0329R4), which allows specific members to be selected in aggregate initialization, e.g. using the Type t { .member = expr } syntax.
  • Il supporto lambda è stato rivisto e interessa ora un numero elevato di bug duraturi.Lambda support has been overhauled, addressing a large number of long-standing bugs. Questa modifica è abilitata per impostazione predefinita quando si usa /std:c++latest.This change is enabled by default when using /std:c++latest. In altre modalità di linguaggio /std:c++* e nella modalità predefinita il nuovo parser può essere abilitato tramite /experimental:newLambdaProcessor, ad esempio /std:c++17 /experimental:newLambdaProcessor.In other /std:c++* language modes and under the default mode, the new parser can be enabled via /experimental:newLambdaProcessor, e.g. /std:c++17 /experimental:newLambdaProcessor.

  • Documentazione di CMake nell'editorIn-editor documentation for CMake

  • Gli elenchi di completamento e le informazioni rapide per i comandi CMake predefiniti, le variabili e le proprietà rendono più semplice la modifica dei file CMakeLists.txt.Completions and quick info for built-in CMake commands, variables, and properties make it easier to edit your CMakeLists.txt files.

Tooltip info for add_subdirectory CMake command
Informazioni della descrizione comando per il comando CMake add_subdirectoryTooltip info for add_subdirectory CMake command

F# e strumenti F#F# and F# tools

Questa è una versione relativamente minore per il linguaggio e gli strumenti F#, ma include comunque alcune importanti novità.This is a relatively minor release for the F# language and tools, but it's not without some goodies! Come per l'aggiornamento di Visual Studio 16.0, anche questa versione è incentrata sulle prestazioni degli strumenti dell'editor.As with the VS 16.0 update, this release also focused on performance of editor tooling.

Compilatore F# ed F# InteractiveF# compiler and F# interactive
  • È stato aggiunto il supporto di P/Invoke in F# Interactive in .NET Core (6544)Added P/Invoke support to F# interactive on .NET Core (#6544)
  • È stata aggiunta un'ottimizzazione del compilatore per Span<'T> se usato in un ciclo for (6195)Added a compiler optimization for Span<'T> when used in a for loop (#6195)
  • È stata aggiunta un'ottimizzazione per evitare allocazioni Some estranee per le opzioni F# in diversi scenari (6532)Added an optimization to avoid an extraneous Some allocations for F# options in various scenarios (#6532)
  • È stato modificato l'ordine di esecuzione delle espressioni usate nella creazione di un'istanza di record anonimi in modo che sia dall'alto verso il basso invece che alfabetico, per riflettere l'esperienza corrente con record normali (6487)Changed the execution order of expressions used in the instantiation of Anonymous Records to be top-to-bottom, rather than alphabetical, to match the current experience with normal Records (#6487)
  • È stato corretto un bug a causa del quale espressioni letterali di dimensioni molto grandi o dichiarazioni di struttura di dimensioni molto grandi possono causare un overflow dello stack del compilatore in fase di compilazione (6258)A bug where very large literal expressions or very large struct declarations could cause the compiler to stack overflow on build has been resolved (#6258)
  • È stato corretto un bug a causa del quale non vengono più attivati punti di interruzione durante il debug di una funzione con record anonimi (6512)A bug where breakpoints would no longer trigger when debugging a function with an Anonymous Records has been fixed (#6512)
  • È stato corretto un bug a causa del quale record anonimi passati a costrutti in cui è previsto un parametro obj provocano l'arresto anomalo del compilatore (6434)A bug where Anonymous Records passed to constructs expecting an obj parameter caused a compiler crash has been fixed (#6434)
  • È stato corretto un bug a causa del quale i cicli for var expr1 to expr2 do ... possono restituire una sintassi stranamente valida (che viene rimossa) (6586)A bug where for var expr1 to expr2 do ... loops could result in bizarrely valid (and discarded) syntax has been fixed (#6586)
  • È stato corretto un bug a causa del quale non è possibile usare in modo appropriato record anonimi con eventi (6572)A bug where Anonymous Records could not be used properly with events has been fixed (#6572)
  • È stato corretto un bug presente da tempo a causa del quale vengono generati parser di dimensioni estremamente elevate in FsLexYacc (oltre 100 milioni di righe) (5967A longstanding bug where extremely large generated parsers in FsLexYacc (over 100 million lines) has been resolved (#5967
  • È stato corretto un problema presente da tempo nel componente plug-in del provider di tipi del compilatore che può creare le condizioni per una perdita di memoria causata da un provider di tipi (6409)A longstanding issue in the Type Provider plugin component of the compiler that could leave the door open for a memory leak caused by a type provider has been resolved (#6409)
  • È stato aggiunto da Saul Rennison il supporto di --pathmap per il compilatore F#, che risolve un problema a causa del quale l'eseguibile risultante da una compilazione include percorsi assoluti di file di origine nella risorsa file di firma F# incorporata (5213)Support for --pathmap was added to the F# compiler by Saul Rennison, which resolves an issue where the resulting executable from a compilation would include absolute paths to source files in the embedded F# signature file resource (#5213)
  • È stata aggiunta da ncave un'ottimizzazione per l'espressione AST in F# che ne migliora l'utilizzo tramite altri strumenti e ambienti (ad esempio Fable) (6333)An optimization to the F# AST that improves its consumption via other tools and enviroments (e.g., Fable) has been added by ncave (#6333)
  • È stata aggiunta da Steffen Forkmann un'ottimizzazione per l'attraversamento di informazioni durante la risoluzione di membri (4457)An optimization around traversing information when resolving members has been added by Steffen Forkmann (#4457)
  • È stato aggiunto da Gauthier Segay un miglioramento ai messaggi di errore in modo che quando l'implementazione di un tipo è priva degli override necessari, viene segnalato un elenco di questi override mancanti (4982)An improvement to error messages such that when a type implementation is missing necessary overrides a list of those missing overrides is reported has been added by Gauthier Segay (#4982)
Strumenti F#F# tools
  • L'elenco a discesa Framework di destinazione per progetti F# in .NET SDK include ora valori per tutti i valori di .NET Core, .NET Standard e .NET Framework disponibili per semplificare la migrazione a .NET Core da .NET Framework in .NET SDKThe Target Framework dropdown for F# projects in the .NET SDK will now include values for all available .NET Core, .NET Standard, and .NET Framework values to ease migrating to .NET Core from .NET Framework on the .NET SDK
  • È stato corretto un bug a causa del quale la ridenominazione di parametri di tipo generico genera nomi preceduti da doppio apice inverso (5389)A bug where renaming generic type parameters produces double backtick-escaped names has been fixed (#5389)
  • È stato risolto un problema presente da tempo a causa del quale vengono ricreate istanze dei provider di tipi in modo ridondante, provocando allocazioni eccessive nel tempo (5929)A longstanding problem where Type Providers were redundantly reinstantiated, causing massive allocations over time, has been resolved (#5929)
  • È stato risolto un problema presente da tempo a causa del quale la lettura del linguaggio intermedio alloca inutilmente 20 MB in un breve periodo di tempo (6403)A longstanding issue where reading IL needlessly allocated 20MB over a short period of time was been resolved (#6403)
  • È stato corretto un bug da Vasily Kirichenko a causa del quale il metodo GetToolTipText nel servizio di compilazione F# può mostrare la stessa firma XML per diversi overload di membro (6244)A bug where the method GetToolTipText in the F# compiler service could show the same XML signature for several member overloads has been resolved by Vasily Kirichenko (#6244)
Infrastruttura open source di F#F# open source infrastructure

Infine, è stata migliorata l'esperienza per i contributi attraverso le modifiche seguenti:Finally, we improved the contribution experience by doing the following:

  • Completamento della compilazione dal processo di origine in modo che la libreria principale e il compilatore F# possano essere creati con il repository di compilazione di origine .NET CoreCompleted our build from source process so that the F# compiler and core library can be built with the .NET Core source build repository
  • Rimozione della dipendenza da netstandard1.6 in modo che l'intera codebase abbia come destinazione netstandard2.0 e net472 in modo uniformeRemoved our dependency on netstandard1.6 so that the entire codebase uniformly targets netstandard2.0 and net472
  • Aggiunta di un file .vsconfig alla radice del repository in modo che chi contribuisce usando Visual Studio non debba essere a conoscenza di tutti i componenti che devono essere installati dall'inizioAdded a .vsconfig file to the root of the repository so that contributors using Visual Studio don't have to know everything that needs installing up front
  • Riscrittura del file LEGGIMI del progetto in modo da rimuovere informazioni che possono generare confusione, aggiungendo un argomento di avvio rapido con informazioni su come iniziare a contribuire, nel tentativo di offrire maggiore completezza nei messaggi sui tipi di modifiche che Microsoft vuole introdurreRewrote our project's README to remove potentially confusing information, include a quickstart for getting started with contributing, and attempting to be more inclusive in our messaging about the kinds of changes we'd love to take

Produttività .NET.NET Productivity

  • È ora disponibile il completamento sperimentale di IntelliSense per tipi non importati.There is now experimental intellisense completion for unimported types! Gli utenti ricevono ora suggerimenti di IntelliSense per i tipi nelle dipendenze nel progetto anche se non hanno ancora aggiunto l'istruzione di importazione al file.Uers now receive intellisense suggestions for types in dependencies in projects even if they have not yet added the import statement to the file. È necessario attivare questa opzione in Strumenti > Opzioni > Editor di testo > C# > IntelliSense.Turn this option on in Tools > Options > Text Editor > C# > Intellisense.
Intellisense completion for unimported types
Completamento di IntelliSense per tipi non importatiIntellisense completion for unimported types
  • È ora disponibile un comando di aggiunta/rimozione di commenti a riga singola tramite scelta rapida da tastiera (CTRL+K,/).Toggle Single Line Comment/Uncomment is now available through the keyboard shortcut (Ctrl+K,/). Questo comando aggiunge o rimuove un commento a riga singola a seconda che la selezione sia o meno già commentata.This command will add or remove a single line comment depending on whether your selection is already commented.
  • È ora possibile esportare stili di denominazione con il pulsante di generazione di un file con estensione editorconfig in Strumenti > Opzioni > Editor di testo > C# > Stile codice.Ability to export naming styles with the “Generate editorconfig” button located in Tools > Options > Text Editor > C# > Code Style.
  • È ora possibile usare una nuova regola di stile per il codice del file con estensione editorconfig per richiedere o impedire l'uso di direttive using all'interno di uno spazio dei nomi.Ability to use a new editorconfig code style rule to require or prevent usings inside a namespace. Questa impostazione verrà esportata anche quando si usa il pulsante di generazione del file con estensione editorconfig disponibile in Strumenti > Opzioni > Editor di testo > C# > Stile codice.This setting will also be exported when using the “Generate editorconfig” button located in Tools > Options > Text Editor > C# > Code Style.
Editorconfig rule for usings outside/inside namespaces
Regola di EditorConfig per l'uso di direttive using all'interno/esterno degli spazi dei nomiEditorconfig rule for usings outside/inside namespaces
Tools Options setting for usings inside/outside namespace
Impostazione in Opzioni nel menu Strumenti per l'uso di direttive using all'interno/esterno dello spazio dei nomiTools Options setting for usings inside/outside namespace
  • La colonna "Tipologia" di Trova tutti i riferimenti ora include opzioni di filtro aggiuntive e riconosce gli spazi dei nomi e i tipi.The Find All References “Kind” column now has more filter options and is aware of namespaces and types.
Find All References Kind column has more filter options
La colonna Tipologia in Trova tutti i riferimenti include più opzioni di filtroFind All References Kind column has more filter options
  • È stata aggiunta una correzione del codice per le istruzioni if di suddivisione o unione.Added a codefix for split/merge if statements.
Split or merge if statements
Istruzioni If di divisione o mergeSplit or merge if statements
  • È stata aggiunta una correzione del codice per il wrapping delle espressioni binarie.Added a codefix for wrapping binary expressions.
Wrap binary expressions
Wrapping delle espressioni binarieWrap binary expressions
  • È ora possibile accedere a un elenco di completamento regex tramite il menu di Intellisense (CTRL+BARRA SPAZIATRICE) dall'interno di una stringa regex.A regex completion list can now be accessed through the intellisense menu (Ctrl + space) when inside a regex string. Gli elenchi di completamento includono anche una descrizione in linea delle operazioni eseguite dal suggerimento.These completions also include an in-line description of what the suggestion does.
Regex completion offered in Intellisense with (Ctrl + space)
Completamento di RegexRegex completion
  • È stata aggiunta una correzione del codice per la rimozione del seal di una classe.Added a codefix for unsealing a class.
Unseal a class codefix
Rimozione del seal di una classeUnseal a class
  • È ora possibile usare la pulizia del codice con un solo clic per progetti e soluzioni.Use one-click code cleanup for projects and solutions. È possibile fare clic con il pulsante destro del mouse sui progetti o sulla soluzione in Esplora soluzioni e scegliere "Esegui pulizia del codice".Right-click on projects or the solution in the Solution Explorer and select ‘Run Code Cleanup’.
Right-click to run code cleanup over the entire solution
Clic con il pulsante destro del mouse per eseguire la pulizia del codice nell'intera soluzioneRight-click to run code cleanup over the entire solution
You will see a dialog box while cleanup is applied to each file
Viene visualizzata una finestra di dialogo mentre viene applicata la pulizia a ogni fileA dialog is present box while cleanup is applied to each file
  • È ora possibile usare una finestra di dialogo di refactoring per lo spostamento del tipo in uno spazio dei nomi o in una cartella.Now use a refactoring dialog to move type to namespace or folder. Posizionare il cursore sul nome della classe e premere CTRL+. per aprire il menu dei refactoring e delle azioni rapide e selezionare 'Sposta in spazio dei nomi'.Place your cursor in the class name and type (Ctrl + .) to open the quick actions and refactorings menu and select ‘Move to namespace.’ Verrà avviata una finestra di dialogo in cui è possibile selezionare lo spazio dei nomi di destinazione in cui si vuole spostare il tipo.This launches a dialog where you can select the target namespace you would like to move the type to.
Place cursor in class name and type (Ctrl+.) to view refactorings
Posizionare il cursore sul nome e sul tipo della classe (CTRL+.) per visualizzare i refactoringPlace cursor in class name and type (Ctrl+.) to view refactorings
Select the destination namespace
Selezionare lo spazio dei nomi di destinazioneSelect the destination namespace
  • Attiva/Disattiva commento per il blocco/Rimuovi commento è ora disponibile tramite la scelta rapida da tastiera CTRL+MAIUSC+/ o da Modifica > Avanzate > Attiva/Disattiva commento per il blocco.Toggle Block Comment/Uncomment is now available through the keyboard shortcut (Ctrl+Shift+/) or through Edit > Advanced > Toggle Block Comment. Questo comando consentirà di aggiungere o rimuovere commenti per il blocco a seconda dell'elemento selezionato.This command will add or remove block comments depending on what you have selected.
Toggle block comment with (Ctrl+Shift+/)
Attivare/disattivare i commenti per il blocco con CTRL+MAIUSC+/Toggle block comment with (Ctrl+Shift+/)
  • È ora disponibile una correzione del codice per rendere scrivibili i campi dello struct di sola lettura.There is now a codefix for making readonly struct fields writable. Posizionare il cursore sul nome dello struct, premere CTRL+. per aprire il menu dei refactoring e delle azioni rapide e selezionare 'Imposta come scrivibili i campi di sola lettura'.Place your cursor in the struct name, type (Ctrl+.) to open the quick actions and refactorings menu, and select ‘Make readonly fields writable.’
  • La correzione del codice per aggiungere un campo privato da un costruttore e viceversa è più facile da individuare e verrà visualizzata quando si seleziona qualsiasi parte del nome del campo.The codefix to add a private field from a constructor and vice versa is easier to discover and will show when any portion of the field name is selected. Questo refactoring ora offre anche tutti i costruttori possibili.This refactoring now also offers all possible constructors.

Anteprima della finestra di progettazione XAML per lo sviluppo di .NET Core 3.0 WPFXAML Designer Preview for .NET Core 3.0 WPF development

  • È disponibile un'anteprima anticipata della finestra di progettazione XAML per gli sviluppatori che compilano applicazioni .NET Core 3.0 WPF in Visual Studio.There is an early preview of the XAML Designer for developers building .NET Core 3.0 WPF applications in Visual Studio. Molte funzionalità in fase di progettazione non saranno disponibili in questa anteprima.Many design-time features will be unavailable at this time. Poiché si tratta di un'anteprima anticipata, se si verificano problemi, ad esempio arresti anomali del sistema, è possibile inviare commenti e suggerimenti per Visual Studio per permettere al team di migliorare l'esperienza delle versioni future.Since this is an early preview, if you encounter issues such as crashes, please submit Visual Studio feedback for the team to improve the experience going forwards.
  • Con ogni aggiornamento di Visual Studio 2019 Microsoft continuerà a implementare altre funzionalità precedentemente disponibili nella finestra di progettazione XAML per le applicazioni .NET Framework WPF.With each update to Visual Studio 2019, we will continue implementing more of the features that were previously available in the XAML Designer for .NET Framework WPF applications.

Strumenti .NET SDK.NET SDK tooling

In questa versione Microsoft si è impegnata a fondo per sbloccare l'uso di WPF su .NET Core:This release included a lot of work to unblock the use of WPF on .NET Core:

  • È stato risolto un problema a causa del quale viene visualizzata una finestra di dialogo di errore ogni volta che si aggiunge un nuovo elemento a un progetto .NET Core Windows Form o WPF (4486).An issue where an error dialog popped up whenever you add a new item to a .NET Core WinForms or WPF project was been resolved (#4486).
  • Supporto per file XAML in progetti .NET SDK (1467), che include molti interventi più piccoli con lo scopo di ottenere esperienze identiche ai progetti .NET delle versioni precedenti.Support for XAML files in .NET SDK projects (#1467) which includes many smaller items of work aimed at achieving experience parity with old-style .NET projects.
  • Supporto per voci di menu contestuale per Windows Form in .NET Core (137): Windows Form, controllo utente, componente e classe.Context menu item support for WinForms on .NET Core (#137): Windows Form, User Control, Component, and Class.
  • Supporto per voci di menu contestuale per WPF in .NET Core (137): Finestra, pagina, controllo utente, dizionario risorse.Context menu item support for WPF on .NET Core (#137): Window, Page, User Control, Resource Dictionary.
  • La finestra Origini dati è ora abilitata per i progetti .NET SDK, per consentire scenari di gestione di dati comuni per Windows Form (4479.The Data Sources window is now enabled for .NET SDK projects, enabling common data management scenarios for WinForms (#4479.

In questa versione è stata aggiunta separatamente anche una vasta gamma di altre correzioni:Separately, a variety of other fixes were added in this release:

  • I progetti .NET SDK supportano ora file .razor (4468)..NET SDK projects now support .razor files (#4468).
  • È stato aggiunto testo della Guida accessibile alla pagina delle proprietà Debug, consentendone la lettura tramite utilità per la lettura dello schermo (4568).Accessible help text was added to the Debug property page, allowing it to be read by screen readers (#4568).
  • È stata aggiunta un'impostazione che permette di disabilitare il doppio clic per aprire un file di progetto (4493).We added a setting that allows you to disable double-click to open a project file (#4493).
  • L'opzione di menu contestuale per modificare un file di progetto non include più il nome del progetto, per correggere un problema a causa del quale il menu contestuale può diventare troppo largo a causa di un nome di progetto molto lungo (1492).The context menu option to edit a project file no longer includes the project name, fixing an issue where the context menu could get too wide due to a very long project name (#1492).
  • È stato corretto un bug a causa del quale un'origine dati con l'interfaccia utente Data binding crea due file .datasource (4485).A bug where creating a Data Source with the Data Binding UI created two .datasource fileas has been fixed (#4485).
  • È stato corretto un bug a causa del quale l'uso di file collegati può provocare errori della verifica di aggiornamento (4580).A bug where using linked files could cause the up-to-date checker to fail has been resolved (#4580).
  • Sono stati corretti numerosi bug che interessano la risoluzione dei pacchetti e la visualizzazione del rispettivo stato risolto/non risolto nel nodo delle dipendenze (2924, 4577).A variety of bugs involving package resolution and the display of their resolved/unresolved state in the Dependencies node have been fixed (#2924,#4577).

È possibile visualizzare un elenco completo dei problemi risolti passando all'attività cardine 16.1 in GitHub.You can see a full list of closed issues by going to the 16.1 milestone on GitHub.

XamarinXamarin

  • Aggiornamento dell'esperienza Android predefinita all'API 28 per modelli, creazione di dispositivi, programmi di installazione e altro ancora.Updated the default Android Experience to API 28 for templates, device creation, installers, and more.
  • IntelliSense in Windows mostra ora indicazioni per gli attributi in fase di progettazione durante la scrittura di XAML Xamarin.Forms.IntelliSense on Windows now shows recommendations for design-time attributes when writing Xamarin.Forms XAML.

Problemi notiKnown Issues

Vedere tutti i problemi e le soluzioni alternative disponibili in Visual Studio 2019 versione 16.1 facendo clic sul collegamento seguente.See all issues and available workarounds in Visual Studio 2019 version 16.1 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