Condividi tramite


2022LogoNote sulla versione di Visual Studio 2022 versione 17.0


Suggerimento

Guarda le registrazioni dell'evento di lancio di Visual Studio 2022 per scoprire le novità, ascoltare suggerimenti e consigli e scaricare swag digitale gratuito.

Developer Community | Visual Studio 2022 Roadmap | System Requirements | Compatibility | Distributable Code | Release History | License Terms | Blogs | Latest Release Issues | Whats New in Visual Studio Docs (Problemi noti della versione più recente)


Visual Studio 2022 versione 17.0

Il supporto per Visual Studio 2022 versione 17.0 è terminato a luglio 2023, il che significa che non ci saranno altri aggiornamenti della sicurezza per questa versione. I sottoscrittori Enterprise e Professional che usano il canale LTSC di Visual Studio 2022 17.0 devono adottare la versione current channel o LTSC più recente.

Leggere le informazioni sulle versioni e le date di supporto di Visual Studio 2022.

Informazioni sul ciclo di vita e la manutenzione del prodotto Visual Studio.

Visitare il sito di Visual Studio per accedere ai collegamenti per le versioni più recenti dei prodotti Visual Studio 2022. Per istruzioni sull'installazione e l'aggiornamento di Visual Studio 2022, vedere Aggiornare Visual Studio 2022 alla versione più recente. La Guida dell'amministratore di Visual Studio contiene indicazioni su come distribuire Visual Studio nell'organizzazione.

Versioni di Visual Studio 2022 versione 17.0

Visual Studio 2022 Blog

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


17.0.23 Visual Studio 2022 versione 17.0.23

Data di rilascio: 11 luglio 2023

Problemi risolti in questa versione della versione 17.0.23

  • Microsoft è a conoscenza di una vulnerabilità in cui è possibile eseguire l'inserimento di indirizzi SMTP nella classe SmtpClient. Corrisponde a CVE-2022-26893 (non un CVE pubblicato perché la vulnerabilità viene valutata come media).

Avvisi di sicurezza risolti

  • CVE-2023-33127 Vulnerabilità relativa all'esecuzione di codice remoto .NET Esiste una vulnerabilità nelle applicazioni .NET in cui il server di diagnostica può essere sfruttato per ottenere l'elevazione dei privilegi intersessione/interutente (EoP) e l'esecuzione del codice.
  • CVE-2023-33170 Vulnerabilità di bypass della funzionalità di sicurezza .NET Esistono vulnerabilità A nelle applicazioni principali ASP.NET in cui i tentativi di blocco massimo dell'account non riusciti potrebbero non essere immediatamente aggiornati, consentendo a un utente malintenzionato di provare più password.

17.0.22 Visual Studio 2022 versione 17.0.22

Data di rilascio: 13 giugno 2023

Problemi risolti in questa versione della versione 17.0.22

  • Microsoft è a conoscenza di una vulnerabilità in cui è possibile eseguire l'inserimento di indirizzi SMTP nella classe SmtpClient. Corrisponde a CVE-2022-26893 (non un CVE pubblicato perché la vulnerabilità viene valutata come media).

Avvisi di sicurezza risolti

  • CVE-2023-24897 Vulnerabilità di esecuzione remota del codice di Visual Studio Questo aggiornamento della sicurezza risolve una vulnerabilità nell'SDK MSDIA in cui i PDF danneggiati possono causare un overflow dell'heap, causando un arresto anomalo o un'esecuzione remota del codice.
  • CVE-2023-25652 Vulnerabilità di esecuzione remota del codice di Visual Studio Questo aggiornamento della sicurezza risolve una vulnerabilità in cui l'input appositamente creato per git apply –reject può causare scritture di contenuto controllate in posizioni arbitrarie.
  • CVE-2023-25815 Vulnerabilità spoofing di Visual Studio Questo aggiornamento della sicurezza risolve una vulnerabilità in cui i messaggi di localizzazione di GitHub fanno riferimento a un percorso hardcoded anziché rispettare il prefisso di runtime che causa scritture e arresti anomali della memoria out-of-bound.
  • CVE-2023-29007 Vulnerabilità di esecuzione remota del codice di Visual Studio Questo aggiornamento della sicurezza risolve una vulnerabilità in cui un file di configurazione contenente un errore di logica genera un inserimento arbitrario della configurazione.
  • CVE-2023-29011 Vulnerabilità di esecuzione remota del codice di Visual Studio Questo aggiornamento della sicurezza risolve una vulnerabilità in cui l'eseguibile Git per Windows responsabile dell'implementazione di un proxy SOCKS5 è soggetto a raccogliere una configurazione non attendibile nei computer multiutente.
  • CVE-2023-29012 Vulnerabilità di esecuzione remota del codice di Visual Studio Questo aggiornamento della sicurezza risolve una vulnerabilità in cui il programma GIT per Git Git CMD cerca erroneamente un programma all'avvio, causando l'esecuzione di codice arbitrario invisibile all'utente.
  • CVE-2023-27909 Vulnerabilità di esecuzione remota del codice di Visual Studio Questo aggiornamento della sicurezza risolve una vulnerabilità di scrittura out-of-bounds in Autodesk® FBX® SDK in cui la versione 2020 o precedente può causare l'esecuzione del codice tramite file FBX o divulgazione di informazioni intenzionalmente creati.
  • CVE-2023-27910 Vulnerabilità di divulgazione delle informazioni di Visual Studio Questo aggiornamento della sicurezza risolve una vulnerabilità in cui un utente potrebbe essere ingannato nell'apertura di un file FBX dannoso che potrebbe sfruttare una vulnerabilità di overflow del buffer dello stack in Autodesk® FBX® SDK 2020 o prima che possa causare l'esecuzione di codice remoto.
  • CVE-2023-27911 Vulnerabilità di esecuzione remota del codice di Visual Studio Questo aggiornamento della sicurezza risolve una vulnerabilità in cui un utente potrebbe essere ingannato nell'apertura di un file FBX dannoso che potrebbe sfruttare una vulnerabilità di overflow del buffer heap in Autodesk® FBX® SDK 2020 o prima che possa causare l'esecuzione di codice remoto.
  • CVE-2023-33139 Vulnerabilità di divulgazione delle informazioni di Visual Studio Questo aggiornamento della sicurezza risolve una vulnerabilità OOB in cui il parser di file obj in Visual Studios conduce alla divulgazione di informazioni.
  • CVE-2023-29331 . NET e Vulnerabilità Denial of Service di Visual Studio Questo aggiornamento della sicurezza risolve una vulnerabilità in cui il processo di recupero AIA per i certificati client può causare denial of service.
  • CVE-2023-24895 Vulnerabilità di esecuzione di codice remoto di Visual Studio e CVE-2023-24895 Questo aggiornamento della sicurezza risolve una vulnerabilità nel parser XAML WPF in cui un parser non sottoposto a posta in arrivo può causare l'esecuzione di codice remoto.
  • CVE-2023-24936 .NET e vulnerabilità di elevazione dei privilegi di Visual Studio Questo aggiornamento della sicurezza risolve una vulnerabilità nelle restrizioni di bypass durante la deserializzazione di un oggetto DataSet o DataTable da XML, causando un'elevazione dei privilegi.
  • CVE-2023-32032 Vulnerabilità di elevazione dei privilegi .NET Esiste in .NET usando l'estrazione del contenuto di un file Tar che può comportare l'elevazione dei privilegi.
  • CVE-2023-33126 Vulnerabilità di esecuzione di codice remoto .NET Esiste in .NET durante scenari di arresto anomalo e analisi dello stack che potrebbero causare il caricamento di bin arbitrari
  • CVE-2023-33128 Vulnerabilità di esecuzione remota del codice .NET Una vulnerabilità esiste nel generatore di origine .NET per P/Invoke che può portare a codice generato liberando memoria non inizializzata e arresto anomalo.
  • CVE-2023-33135 Vulnerabilità di esecuzione remota del codice .NET Vulnerabilità A esiste in .NET SDK durante il ripristino dello strumento che può causare un'elevazione dei privilegi.

17.0.21 Visual Studio 2022 versione 17.0.21

Data di rilascio: 11 aprile 2023

Problemi risolti in questa versione della versione 17.0.21

  • Corregge un arresto anomalo quando l'input non valido viene inviato al driver usato durante il training PGO per i driver in modalità kernel.
  • È stato risolto un problema in IIS Express che poteva causare un arresto anomalo durante l'aggiornamento dei dati di telemetria.
  • Microsoft è a conoscenza di una vulnerabilità in cui è possibile eseguire l'inserimento di indirizzi SMTP nella classe SmtpClient. Corrisponde a CVE-2022-26893 (non un CVE pubblicato perché la vulnerabilità viene valutata come media).

Community degli sviluppatori

Avvisi di sicurezza risolti


17.0.20 Visual Studio 2022 versione 17.0.20

Data di rilascio: 14 marzo 2023

Problemi risolti in questa versione della versione 17.0.20

  • Microsoft è a conoscenza di una vulnerabilità in cui è possibile eseguire l'inserimento di indirizzi SMTP nella classe SmtpClient. Corrisponde a CVE-2022-26893 (non un CVE pubblicato perché la vulnerabilità viene valutata come media).
  • Git 2.39 ha rinominato il valore per credential.helper da "manager-core" a "manager". Per altre informazioni, vedere https://aka.ms/gcm/rename.
  • Aggiornamenti a mingit e Git per il pacchetto Windows alla versione 2.39.2, che punta a CVE-2023-22490

Avvisi di sicurezza risolti


17.0.19 Visual Studio 2022 versione 17.0.19

Data di rilascio: 14 febbraio 2023

Problemi risolti in questa versione della versione 17.0.19

  • Aggiornamento dell'interprete CPython alla versione 3.9.13.
  • Aggiornamenti a mingit e Git per il pacchetto Windows alla versione 2.39.1.1, che punta a CVE-2022-41903

Avvisi di sicurezza risolti

17.0.18 Visual Studio 2022 versione 17.0.18

Data di rilascio: 10 gennaio 2023

Avvisi di sicurezza risolti

  • CVE-2023-21538 .NET Denial of Service Vulnerabilità A Denial of Service esiste in .NET 6.0 dove un client dannoso potrebbe causare un overflow dello stack che può causare un attacco Denial of Service quando un utente malintenzionato invia una richiesta non valida a un endpoint esposto.

17.0.17 Visual Studio 2022 versione 17.0.17

Data di rilascio: 13 dicembre 2022

Avvisi di sicurezza risolti

  • CVE-2022-41089 Esecuzione di codice remoto Una vulnerabilità di esecuzione del codice remoto esiste in .NET Core 3.1, .NET 6.0 e .NET 7.0, in cui un attore malintenzionato potrebbe causare l'esecuzione di codice arbitrario a causa dell'analisi di file xps creati in modo dannoso.

17.0.16 Visual Studio 2022 versione 17.0.16

Data di rilascio: 8 novembre 2022

Problemi risolti in questa versione della versione 17.0.16

Avvisi di sicurezza risolti


17.0.15 Visual Studio 2022 versione 17.0.15

Data di rilascio: 11 ottobre 2022

Problemi risolti in questa versione della versione 17.0.15

  • Gli amministratori potranno aggiornare il programma di installazione di Visual Studio in un computer client offline da un layout senza aggiornare Visual Studio.

Avvisi di sicurezza risolti

  • CVE-2022-41032 Vulnerabilità di elevazione dei privilegi .NET Esiste una vulnerabilità in .NET 7.0.0-rc.1, .NET 6.0, .NET Core 3.1 e client NuGet (NuGet.exe, NuGet.Commands, NuGet.CommandLine, NuGet.Protocol) in cui un utente malintenzionato potrebbe eseguire codice arbitrario.

17.0.14 Visual Studio 2022 versione 17.0.14

Data di rilascio: 13 settembre 2022

Problemi risolti in questa versione della versione 17.0.14

Avvisi di sicurezza risolti

CVE-2022-38013 .NET Denial of Service Vulnerabilità A Denial of Service esiste in ASP.NET Core 3.1 e .NET 6.0 in cui un client malintenzionato potrebbe causare un overflow dello stack che può causare un attacco Denial of Service quando un utente malintenzionato invia un payload personalizzato analizzato durante l'associazione del modello.


17.0.13 Visual Studio 2022 versione 17.0.13

Data di rilascio: 9 agosto 2022

Problemi risolti in questa versione della versione 17.0.13

  • Risolve l'errore Git dopo l'aggiornamento 17.1.4 - Commenti e suggerimenti di Visual Studio che forniscono l'opzione per contrassegnare un repository Git come sicuro tramite Visual Studio.
  • Aggiorna MinGit alla versione 2.37.1.1 per risolvere CVE - CVE-2022-29187 (mitre.org), che ha esposto gli utenti a una vulnerabilità in cui il passaggio a un repository di cui è proprietario, ma che un altro utente può scrivere in potrebbe essere sfruttato per eseguire codice dannoso.
  • Aggiorna Git per Windows alla versione 2.37.1.1 indirizzando CVE-2022-31012.

Avvisi di sicurezza risolti


17.0.12 Visual Studio 2022 versione 17.0.12

Data di rilascio: 12 luglio 2022

Problemi risolti in questa versione della versione 17.0.12

  • Aggiornamento di LibraryManager per supportare le modifiche apportate all'API cdnjs
  • Correzione di un bug per cui l'editor di testo sarebbe vuoto quando si apre un documento o si arresta in modo anomalo durante la digitazione.

Avvisi di sicurezza risolti

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

17.0.11 Visual Studio 2022 versione 17.0.11

Data di rilascio: 14 giugno 2022

Problemi risolti in questa versione della versione 17.0.11

  • Aggiornamento side-by-side del set di strumenti di Dev 16.11 C++ alla versione 14.29.30145.00. La versione più recente del set di strumenti C++ di Dev 16.11 contiene importanti correzioni di bug, inclusa la correzione di tutti i report dei difetti C++20 rimanenti. Per altre informazioni, vedere le note sulla versione 16.11.14.

Dalla Developer Community

Avvisi di sicurezza risolti

  • CVE-2022-30184 Vulnerabilità di divulgazione di informazioni .NET Una vulnerabilità esiste in .NET 6.0 e .NET Core 3.1 all'interno di NuGet in cui può verificarsi una perdita di credenziali.
  • CVE-2022-24513 Vulnerabilità di elevazione dei privilegi Una potenziale vulnerabilità di elevazione dei privilegi esiste quando il servizio di aggiornamento di Microsoft Visual Studio analizza in modo non corretto i dati di configurazione locale.

17.0.10 Visual Studio 2022 versione 17.0.10

Data di rilascio: 10 maggio 2022

Problemi risolti in questa versione della versione 17.0.10

  • Aggiornamento di Git per la versione di Windows usata da Visual Studio e componente facoltativo installabile a 2.36.0.1
  • È stato risolto un problema relativo all'integrazione git, in cui, se si esegue il pull o la sincronizzazione dei rami che presentano differenze, la finestra di output non visualizza un hint localizzato su come risolverlo.
  • È stato risolto un problema per cui quando si apre un repository Git in Visual Studio, la finestra di output mostra "Si sono verificati uno o più errori". Invece del motivo per cui si verifica l'errore e come risolverlo.
  • Aggiornamento della linea di base webview2 a Daytona

Dalla Developer Community

Avvisi di sicurezza risolti

[CVE-2022-29117 Vulnerabilità Denial of Service .NET Esiste in .NET 6.0, .NET 5.0 e .NET Core 3.1 in cui un client malintenzionato può modificare i cookie e causare un attacco Denial of Service.

CVE-2022-23267 Vulnerabilità Denial of Service .NET Core Esiste in .NET 6.0, .NET 5.0 e .NET Core 3.1 in cui un client dannoso può causare un attacco Denial of Service tramite allocazioni di memoria in eccesso tramite HttpClient.

CVE-2022-29145 Vulnerabilità Denial of Service .NET Esiste in .NET 6.0, .NET 5.0 e .NET Core 3.1 in cui un client dannoso può causare un denial of service quando vengono analizzati i moduli HTML.

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


17.0.9 Visual Studio 2022 versione 17.0.9

Data di rilascio: 19 aprile 2022

Problemi risolti in questa versione della versione 17.0.9

  • Correzione vctip.exe regressione dalla versione 17.0.8
  • Correzione di un bug che impediva il caricamento di alcune applicazioni compilate con Address Sanitizer (ASAN) in Windows 11.
  • È stato risolto un altro problema ASAN per cui le applicazioni multithread con contesa heap potrebbero riscontrare deadlock, falsi report "puntatore jolly liberati" o un deadlock durante l'uscita del processo.
  • Correzione del problema "Impossibile installare alcuna estensione (vsix) per Visual Studio in un computer offline".

17.0.8 Visual Studio 2022 versione 17.0.8

Data di rilascio: 12 aprile 2022

Problemi risolti in questa versione della versione 17.0.8

Dalla Developer Community

Avvisi di sicurezza risolti

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

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

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


17.0.7 Visual Studio 2022 versione 17.0.7

Data di rilascio: 8 marzo 2022

Problemi risolti in questa versione della versione 17.0.7

  • Prestazioni migliorate nei monitor con frequenza di aggiornamento elevata.
  • Correzione di un blocco durante l'avvio di Visual Studio per gli utenti dello SKU della community.

Dalla Developer Community

Developer Community include un elenco completo delle correzioni disponibili nella versione 17.0.

Avvisi di sicurezza risolti

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

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

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

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


17.0.6 Visual Studio 2022 versione 17.0.6

Data di rilascio: 8 febbraio 2022

Problemi risolti in questa versione della versione 17.0.6

  • Aggiornamento del programma di installazione di Visual Studio per registrare correttamente i metadati del canale.
  • Bollettini rilasciati nel Programma di installazione di Visual Studio per un'installazione o un aggiornamento.
  • Sono state aggiunte informazioni sulle date di scadenza del canale LTSC alla finestra di dialogo Impostazioni di aggiornamento.
  • Aggiunta della possibilità di modificare a livello di codice il percorso di origine degli aggiornamenti indipendentemente dall'esecuzione dell'aggiornamento. In questo modo gli amministratori IT possono modificare a livello di codice il canale di aggiornamento.
  • Aggiornata l'esperienza dell'account GitHub per migliorarne la frequenza di successo.

Avvisi di sicurezza risolti

CVE-2022-21986 Vulnerabilità A Denial of Service esistente in .NET 5.0 e .NET 6.0 quando il server Web Kestrel elabora determinate richieste HTTP/2 e HTTP/3


17.0.5 Visual Studio 2022 versione 17.0.5

Data di rilascio: 13 gennaio 2022

Problemi risolti in questa versione della versione 17.0.5

  • È stata risolta un'istanza occasionale in cui VSInstr non si chiude quando si instrumenta un file binario con metadati volatili, causando l'esito negativo della profilatura della strumentazione.
  • È stato risolto il problema a causa del quale link.exe si arresta occasionalmente in modo anomalo o si blocca durante la produzione di PDB insieme al file binario.
  • Correzione di un bug in C++ Concurrency::p arallel_for_each che causava l'arresto anomalo del processo chiamante a causa dell'overflow di integer.
  • Correzione di un bug nei confronti CString di ATL nelle modalità C++20 e C++Latest del linguaggio.
  • Correzione di un arresto anomalo durante l'esecuzione di un binario PGI-ed su arm64 e arm64ec quando veniva usato un numero elevato di probe pogo.
  • È stato risolto un problema per cui l'ottimizzazione di funzioni di grandi dimensioni poteva generare codice errato.

17.0.4 Visual Studio 2022 versione 17.0.4

Data di rilascio: 16 dicembre 2021

Problemi risolti in questa versione della versione 17.0.4

  • Aggiunge il supporto Xcode 13.2.

17.0.3 Visual Studio 2022 versione 17.0.3

Data di rilascio: 14 dicembre 2021

Problemi risolti in questa versione della versione 17.0.3

Rendering dei caratteri di controllo testo bidirezionale

Per evitare un exploit potenzialmente dannoso che consente la rappresentazione errata del codice, l'editor di Visual Studio non consentirà più ai caratteri di controllo del testo bidirezionale di modificare l'ordine dei caratteri nella superficie di modifica. Una nuova opzione causerà la visualizzazione di questi caratteri di controllo di testo bidirezionali con segnaposto. I caratteri di controllo di testo bidirezionali saranno comunque presenti nel codice perché questo comportamento influisce solo sul rendering nell'editor di codice.

Vs con caratteri di controllo di testo bidirezionali sostituiti con segnaposto

Questa funzionalità è controllata in Strumenti\Opzioni. Nella pagina Editor di testo\Generale è disponibile un'opzione per "Mostra caratteri di controllo del testo bidirezionale", che verrà selezionata per impostazione predefinita. Se selezionata, tutti i caratteri di controllo di testo bidirezionali verranno visualizzati come segnaposto. Deselezionando l'opzione verrà ripristinato il comportamento precedente in cui questi caratteri non vengono visualizzati.

Un carattere Unicode è considerato un carattere di controllo di testo bidirezionale se rientra in uno degli intervalli seguenti: U+061c, U+200e-U+200f, U+202a-U+202e, U+2066-U+2069.

  • Correzione di un arresto anomalo in Progettazione Web Form
  • È stato risolto un problema a causa del quale il completamento CSS per !importante inserisce testo nel percorso errato nei file HTML o Razor.
  • Correzione di una regressione con XAML Xamarin.Forms Ricaricamento rapido in conflitto con le librerie che hanno condiviso dipendenze simili, ad esempio SignalR. Xamarin.Forms XAML Ricaricamento rapido dovrebbe ora essere in grado di interagire indipendentemente da ciò che viene caricato nell'applicazione.
  • È stato risolto un problema per cui le pagine di panoramica del progetto, gli strumenti di diagnostica o le finestre del profiler prestazioni a volte sarebbero vuote.
  • È stato risolto un problema di modifica dei file razor in cui il cursore a volte passava a una posizione diversa a metà digitazione.

Dalla Developer Community

Developer Community include un elenco completo delle correzioni disponibili nella versione 17.0.

Avvisi di sicurezza risolti

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

CVE-2021-42574 Caratteri di controllo di testo bidirezionali bidirezionali possono essere usati per fare in modo che il rendering del codice nell'editor sia diverso da quello contenuto su disco.


17.0.2 Visual Studio 2022 versione 17.0.2

Data di rilascio: 30 novembre 2021

Problemi risolti in questa versione della versione 17.0.2

  • Correzione per codegen non valido invisibile all'utente con operazioni simili a memmove con dati sovrapposti
  • Aggiunta della messaggistica nella finestra di output visualizzata quando si usano moduli C++ o unità di intestazione. Questo contiene attualmente problemi noti relativi all'uso di moduli o unità di intestazione con IntelliSense.
  • Correzione del problema relativo alle pagine di panoramica di CMake e all'editor CMakeSettings bloccato su "In attesa del completamento dell'inizializzazione di IntelliSense..."
  • È stato corretto un problema per cui un distruttore basato su modelli coinvolto in una gerarchia di classi con inizializzatori di membri dati potrebbe essere creata un'istanza troppo presto, causando potenzialmente una diagnostica errata sugli usi di tipi non definiti o altri errori.
  • Aggiunta di Python 3.9.7 al carico di lavoro Python. Rimosso Python 3.7.8 a causa di una vulnerabilità di sicurezza.
  • È stato risolto un problema a causa del quale trova successivo (F3) e Trova successivo selezionato (CTRL+F3) a volte passa alla prima occorrenza nel file anziché all'occorrenza successiva.
  • Risolvere il problema per cui le date nelle interfacce utente del controllo della versione non rispettavano le impostazioni locali del sistema operativo del cliente.
  • Risolvere un problema in Windows 11 in cui i clienti impostano il Terminale Windows come predefinito e il debugger non può interrompere correttamente il debug di un'app console e impedire l'avvio futuro.

Dalla Developer Community

Developer Community include un elenco completo delle correzioni disponibili nella versione 17.0.


17.0.1 Visual Studio 2022 versione 17.0.1

Data di rilascio: 16 novembre 2021

Problemi risolti in questa versione della versione 17.0.1

  • Correzione di un arresto anomalo quando si usano compilazioni batch.
  • Correzione di un arresto anomalo durante l'avvio di progetti Xamarin.Forms con xaml Ricaricamento rapido abilitato.

Dalla Developer Community

Developer Community include un elenco completo delle correzioni disponibili nella versione 17.0.

17.0.0 Visual Studio 2022 versione 17.0.0

Data di rilascio: 8 novembre 2021

Riepilogo delle novità di questa versione di Visual Studio 2022 versione 17.0.0

64 bit

  • devenv.exe è ora solo a 64 bit

Servizi cloud di Azure

  • I nuovi progetti di Servizio cloud di Azure (versione classica) non sono supportati perché sono deprecati in Azure per i nuovi clienti. I progetti di servizio cloud di Azure (supporto esteso) sono la sostituzione consigliata.
  • I progetti del servizio cloud di Azure (versione classica) esistenti possono essere aperti e sono completamente supportati.

C++

  • Gli strumenti di compilazione v143 sono ora disponibili tramite il programma di installazione di Visual Studio e gli strumenti di compilazione autonomi.
  • La nuova esperienza Ricaricamento rapido è ora disponibile per le applicazioni C++ native durante l'esecuzione nel debugger. Supporta sia i progetti MSBuild che CMake. Per altre informazioni, vedere la sezione Ricaricamento rapido di seguito.
  • È ora possibile compilare ed eseguire il debug in modo nativo in WSL2 senza stabilire una connessione SSH. Sono supportati entrambi i progetti CMake multipiattaforma e i progetti Linux basati su MSBuild.
  • Visual Studio supporta ora l'opzione buildPresets.targets in CMakePresets.json. In questo modo è possibile compilare un subset di destinazioni nel progetto CMake.
  • Il menu Progetto nei progetti CMake è stato semplificato ed espone le opzioni "Elimina cache e riconfigurazione" e "Visualizza cache".
  • Le pagine di panoramica di CMake sono state aggiornate per supportare CMakePresets.json.
  • Flag implementato /scanDependencies per l'output delle dipendenze del modulo C++20 per i progetti CMake, come descritto in P1689r4. Si tratta di un passo verso il supporto per la compilazione di progetti basati su moduli con CMake e stiamo lavorando per completare questo supporto nelle versioni successive.
  • È ora possibile eseguire il debug dei processi in esecuzione in un sistema remoto da Visual Studio con LLDB.
  • È stata aggiornata la versione di CMake fornita con Visual Studio alla versione 3.21. Per informazioni dettagliate sugli elementi disponibili, vedere le note sulla versione di CMake 3.21.
  • Gli strumenti LLVM forniti con Visual Studio sono stati aggiornati a LLVM 12. Per informazioni dettagliate, vedere le note sulla versione di LLVM.
  • Il set di strumenti MSVC ora usa l'hashing dell'origine SHA-256 nei record di debug. In precedenza, il set di strumenti usa MD5 per l'hashing di origine per impostazione predefinita.
  • Il carico di lavoro Sviluppo di giochi con C++ installa ora l'ultimo motore Unreal con supporto per Visual Studio 2022.
  • Sono stati apportati miglioramenti in IntelliSense C++ quando si fornisce l'evidenziazione della sintassi e di spostamento per i tipi da unità di misura di intestazione e moduli importati.
  • Miglioramento delle prestazioni di IntelliSense in C++ ottimizzando l'utilizzo delle intestazioni memorizzate nella cache e l'accesso al database dei simboli, offrendo tempi di caricamento migliorati per accedere al codice.
  • Linter del codice IntelliSense per C++ è ora attivo per impostazione predefinita, fornendo suggerimenti istantanei di tipo you-type e suggerimenti per correggere i difetti comuni del codice.
  • Supporto per libfuzzer nell'opzione -fsanitize=fuzzer. Per altri dettagli, vedere la documentazione.
  • È stato migliorato il rilevamento della dereferenziazione puntatore Null negli strumenti di analisi del codice.
  • L'analisi del codice applica ora che restituisce valori di funzioni annotate con _Check_return_ o _Must_inspect_result_ devono essere controllate.
  • Aggiunta del supporto per gsl::not_null l'analisi del codice.
  • Aggiornato a NDK r21 LTS nel carico di lavoro Sviluppo per dispositivi mobili C++.
  • Le intestazioni C++ AMP sono ora deprecate. L'inclusione <di amp.h> in un progetto C++ genererà errori di compilazione. Per disattivare gli errori, definire _SILENCE_AMP_DEPRECATION_WARNINGS. Per altri dettagli, vedere i collegamenti di deprecazione AMP.

Debug e diagnostica

  • Miglioramenti alle finestre di dialogo di collegamento
  • Miglioramenti dell'helper eccezioni
  • Forza esecuzione su clic
  • Analisi diagnostica del dump della memoria
  • È stato rilasciato un nuovo tipo di punto di interruzione denominato Punto di interruzione dipendente, che consente di configurare un punto di interruzione da abilitare solo se viene raggiunto un altro punto di interruzione.
  • Sono stati aggiunti altri aggiornamenti al nodo Origini extrenal. È ora possibile visualizzare il modulo nel sottonodo "Moduli senza origini" e caricare i simboli di Esplora soluzioni modulo.
  • Miglioramenti della barra dei punti di interruzione
  • Punto di interruzione temporaneo
  • Trascinare e rilasciare un punto di interruzione
  • Nodo Origini esterne in Esplora soluzioni
  • Miglioramenti alle finestre di dialogo di collegamento

Personalizzazione

  • Aggiunte schede colore per le schede verticali e orizzontali
  • Aggiunta di Theme Pack e uso degli autori di temi di VS Code per avviare la raccolta di temi personalizzati
  • Convertitore di temi compilato per convertire i temi di VS Code in modo che funzionino in Visual Studio 2022
  • Aggiunta della funzionalità per sincronizzare il tema di Visual Studio con il tema di Windows
  • Sono state aggiunte nuove funzionalità di gestione dei documenti, con la personalizzazione della larghezza della scheda, il grassetto del documento attivo e il pulsante di chiusura aggiuntivo in Docwell.

Editor

  • Aggiunta dello spostamento tra sottomaschera
  • Il salvataggio automatico è ora disponibile come funzionalità di anteprima
  • Esperienza di copia/incolla con più punti di inserimento

Estendibilità

  • Api rimosse dagli assembly Microsoft.VisualStudio.Language.Client
  • VS SDK contiene diverse modifiche di rilievo e le estensioni di Visual Studio 2019 non funzioneranno nel 2022. Per altre informazioni, vedere la documentazione di VSSDK.
  • Gli assembly di riferimento di VS SDK non vengono più installati nella VSSDK\VisualStudioIntegration\Common\Assemblies cartella . Se la compilazione si basa su questi assembly, eseguire invece la migrazione del progetto per usare i pacchetti NuGet. Per gli scenari offline:
    1. Mantenere un feed nuget nell'organizzazione da cui ripristinare i pacchetti nuget.
    2. Archiviare i file binari.
  • Aggiunta di correzioni di modifiche di rilievo ILanguageClient

Servizi cloud

  • Azurite verrà utilizzato per l'emulazione locale di Archiviazione di Azure invece che il più vecchio e non più sviluppato attivamente Archiviazione di Azure Emulatore.

Strumenti Git

Menu ?

  • Durante la versione 17.0 abbiamo rimodellato il menu Guida con materiale introduttivo e suggerimenti/consigli utili.
  • Offre maggiore collaborazione con il team di sviluppo aggiungendo elementi come l'accesso a Developer Community, note sulla versione, la Roadmap del prodotto Visual Studio e le pagine dei social media.

Ricaricamento rapido Esperienza

  • Ricaricamento rapido è ora disponibile per gli sviluppatori .NET tramite il debugger di Visual Studio e senza il debugger per molti tipi di applicazione .NET 6
  • Ricaricamento rapido è ora disponibile per gli sviluppatori C++ quando si usa il debugger di Visual Studio

Per altri dettagli, vedere il collegamento precedente

IntelliCode

  • I completamenti di riga prevedono il prossimo blocco di codice C# in base al contesto corrente e lo presenta come suggerimento inline a destra del cursore.
  • I completamenti di riga sono ora compatibili con le build più recenti di JetBrains ReSharper. Si noti che l'aggiornamento del contesto di completamento della riga in base alla selezione degli elementi di elenco di completamento personalizzati di ReSharpers non è supportato. Se necessario, gli utenti di ReSharper possono scegliere di usare IntelliSense nativo di Visual Studio, come documentato qui

JavaScript/TypeScript

  • È stato rilasciato un nuovo tipo di progetto JavaScript/TypeScript che compila progetti JavaScript/TypeScript autonomi con strumenti aggiuntivi. Sarà possibile creare progetti Angular e React in Visual Studio usando la versione del framework installata nel computer.
  • I test JavaScript e TypeScript sono ora disponibili in Esplora test di Visual Studio
  • Interfaccia utente grafica NPM disponibile, quindi è ora possibile scaricare i moduli NPM nello stesso modo in cui si scaricano i pacchetti NuGet

.NET 6 SDK

  • .NET 6 SDK è incluso in Visual Studio 2022

Produttività .NET

  • Introdurre il refactoring dei parametri può spostare un nuovo parametro dall'implementazione del metodo ai chiamanti.
  • Tenere traccia dell'origine valore per l'analisi del flusso di dati
  • Opzione per sottolineare le variabili che vengono riassegnare
  • Aggiunta dell'opzione di ricerca nella finestra di dialogo Genera sostituzioni
  • Informazioni rapide per i tag di codice> XML <ora conservano gli spazi vuoti e i blocchi CDATA
  • La finestra Trova tutti i riferimenti ora raggruppa i progetti a più destinazioni
  • Refactoring per rimuovere tipi ripetitivi in Visual Basic
  • Passare a Implementazione non passerà più ai membri con dichiarazioni astratte sottoposte a override.
  • Sincronizzare gli spazi dei nomi in modo che corrispondano alla struttura di cartelle da Esplora soluzioni
  • Configurare l'analisi del codice in background da Esplora soluzioni
  • I tipi riferimento nullable sono ora abilitati per impostazione predefinita per i nuovi progetti .NET
  • Refactoring dello spazio dei nomi con ambito file C# 10.0
  • Per impostazione predefinita, passare alle origini decompilate
  • Refactoring per preferire il controllo null rispetto al controllo del tipo
  • I commenti XML genereranno ora automaticamente un <exception> tag quando un metodo genera in modo esplicito eccezioni
  • Il margine di ereditarietà è ora abilitato per impostazione predefinita

Linguaggi di programmazione

  • C#10

Razor (ASP.NET Core) Editor

  • Riduzione dei blocchi dell'interfaccia utente e miglioramento delle prestazioni all'avvio della soluzione
  • Colorazione semantica più rapida fino a 2x in alcune soluzioni
  • Supporto F7 (visualizza codice) nei file Razor
  • Supporto dei frammenti di codice nei file razor che completeranno una sessione di frammento con una singola scheda invece di premere tabulazioni
  • Formattazione migliore nei @code blocchi quando sono presenti componenti HTML e Razor annidati
  • Ricaricamento rapido supporto nei file Razor
  • Miglioramenti delle prestazioni
  • Miglioramenti della formattazione e del rientro
  • Nuovi colori dell'editor Razor
  • TagHelpers è ora colorato e include supporto rapido per la classificazione delle informazioni e descrizioni comandi di completamento
  • Evidenziazione e spostamento tra parentesi graffe angolo per costrutti Razor
  • I commenti hanno ora il completamento automatico, il rientro intelligente, l'inclusione automatica delle continuazioni di commenti e l'esplorazione dei commenti in blocchi

Test remoti

  • Anteprima sperimentale molto precoce dell'abilitazione dell'esecuzione di test in ambienti remoti, ad esempio contenitori Linux, WSL e connessioni SSH.

Supporto degli strumenti di test

  • Mostra in Esplora test
  • Le nuove versioni della piattaforma di test a partire dalla versione 17.0 non saranno in grado di eseguire test generici e test ordinati. Queste funzionalità specifiche vengono fornite solo come parte di una versione anticipata di MSTestv1 e non sono incluse in MSTestv2. Si noterà che l'utilizzo di queste funzionalità e dei test ordinati è ora considerato contrario alle procedure consigliate per i test.
  • Alcune esperienze di test non saranno disponibili nella versione 17.0, inclusa la creazione di nuovi file TestSettings e l'editor TestSettings. Le esecuzioni di test potranno comunque usare i file TestSettings, ma TestSettings è stato sostituito con RunSettings e si consiglia agli utenti di eseguire la migrazione di prestazioni e funzionalità migliorate. Altre informazioni.
  • Aggiornamenti del supporto per test di carico Web e test codificati dell'interfaccia utente. Test codificati dell'interfaccia utente e [test di carico Web](fine del servizio test di carico basato sul cloud | Il blog di Azure DevOps (microsoft.com) è stato ufficialmente deprecato nel 2019. Per ridurre al minimo l'impatto sugli utenti, è disponibile il supporto minimo per queste funzionalità in Visual Studio 2022. È consigliabile che gli utenti spostino test codificati dell'interfaccia utente e test di carico Web.

Popolamento della casella degli strumenti per gli SDK di estensione UWP

  • Gli SDK dell'estensione UWP sono ora necessari per dichiarare in modo esplicito i tipi che desiderano visualizzare nella casella degli strumenti elencandoli nel file SdkManifest.xml. Il comportamento delle versioni precedenti di Visual Studio rimane invariato; ignoreranno l'elenco dei controlli nel manifesto ed enumereranno invece dinamicamente i tipi di controllo negli assembly dell'SDK.

Percorsi attendibili

  • È stata rinnovata la funzionalità "Impostazioni di attendibilità" e ora è possibile visualizzare un avviso ogni volta che il codice non attendibile (ad esempio file, progetti o cartelle) sta per essere aperto all'interno dell'IDE.
  • I controlli di attendibilità vengono ora eseguiti a livello di cartella della soluzione
  • I progetti creati dall'utente vengono aggiunti automaticamente all'elenco attendibile
  • Gli utenti possono ignorare i controlli di attendibilità nei percorsi temporanei creati da Visual Studio

Aggiornamenti, distribuzione e LTSC

  • Con Visual Studio 2022, saranno disponibili più baseline di manutenzione supportate in modo simultanoue che verranno rilasciate in autunno e in primavera. Per altri dettagli, vedere la documentazione relativa al ritmo di rilascio di Visual Studio e il ciclo di vita del prodotto Visual Studio 2022.
  • Il nuovo programma di installazione fornito con Visual Studio 2022 ora ha la funzionalità di configurazione da cui il prodotto Visual Studio deve ottenere gli aggiornamenti. In questo modo è possibile scegliere gli aggiornamenti da un ltsc diverso o, se ci si trova in un ambiente aziendale gestito, è possibile configurare il client per ottenere gli aggiornamenti da un layout. La possibilità di configurare l'origine per gli aggiornamenti è una nuova funzionalità fornita con il Programma di installazione di Visual Studio e pertanto il comportamento è applicabile anche alle versioni di livello inferiore di Visual Studio, ad esempio Visual Studio 2019. Per altre informazioni sulla configurazione del canale di aggiornamento, vedere la documentazione relativa all'aggiornamento di Visual Studio . Per altre informazioni su come eseguire questa operazione per i layout di rete, vedere la Guida agli amministratori di Visual Studio.
  • Gli amministratori IT possono ora segnalare problemi senza che Visual Studio sia installato.

Interfaccia utente

  • Le icone predefinite sono state aggiornate e aggiornate.

Web Tools

  • La pagina Di riepilogo pubblicazione include ora azioni per avviare/arrestare il debug remoto e la profilatura in '...' menu nell'angolo superiore destro della sezione "Hosting"
  • La pagina Servizi connessi include ora un'azione per avviare Storage Explorer
  • Il modello "ASP.NET Core Empty" fornito con .NET 6 usa il nuovo paradigma delle "API minime" per il quale è stato avviato l'aggiunta del supporto
  • Azurite verrà utilizzato per l'emulazione locale di Archiviazione di Azure invece che il più vecchio e non più sviluppato attivamente Archiviazione di Azure Emulatore.
  • È possibile aggiungere l'autenticazione all'applicazione ASP.NET Core usando Microsoft Identity Platform tramite l'esperienza Servizi connessi in Visual Studio.

Progettazione XAML WPF per .NET Framework

  • La finestra di progettazione XAML WPF corrente per .NET Framework viene sostituita con una nuova finestra di progettazione XAML WPF per .NET Framework, basata sulla stessa architettura usata per la finestra di progettazione XAML WPF per .NET (.NET Core). L'esperienza di Visual Studio avrà lo stesso aspetto, ma i fornitori di controlli di terze parti devono supportare il nuovo modello di estendibilità perché il modello precedente basato su .design.dll e Microsoft.Windows.Design.Extensibility è deprecato. Se è già stata creata un'estensione .designtools.dll per .NET (.NET Core), la stessa estensione funzionerà per la nuova finestra di progettazione XAML WPF per .NET Framework. Per altre informazioni su come eseguire la migrazione al nuovo modello di estendibilità, vedere il documento di migrazione seguente.

Ricaricamento rapido XAML

  • Modifiche Ricaricamento rapido XAML - Modifiche minime apportate alla barra degli strumenti e alle impostazioni in-app

Anteprima di XAML Live

  • Xaml Live Preview è ora disponibile per gli sviluppatori WPF, UWP, WinUI e Xamarin.Forms che eseguono le app nell'emulatore Android o come app desktop UWP. Live Preview acquisisce un'interfaccia utente delle applicazioni in esecuzione e la inserisce in una finestra ancorata in Visual Studio. In questo modo è più semplice usare xaml Ricaricamento rapido per modificare l'app durante la visualizzazione di tali modifiche all'interno di Visual Studio stesso, senza la necessità di eseguire tabulazioni tra l'app in esecuzione e Visual Studio apportando modifiche al codice XAML in tempo reale.

Per altre informazioni, fare clic sul collegamento precedente.

Dati di esempio XAML

  • I dati di esempio in fase di progettazione verranno aggiunti per impostazione predefinita durante la creazione di controlli DataGrid, ListBox e ListView dalla casella degli strumenti nelle applicazioni WPF. Per disabilitare questo comportamento, deselezionare "Aggiungi automaticamente dati di esempio alla creazione dell'elemento" in Strumenti -> Opzioni -> Finestra di progettazione XAML."
  • Per altre informazioni sui dati di esempio, vedere la documentazione relativa ai dati di esempio.

Esperienza di associazione XAML migliorata

  • Sono stati apportati alcuni miglioramenti per rendere il data binding veloce e semplice, ad esempio l'accesso rapido alla finestra di dialogo Data Binding da Controllo proprietà, la possibilità di impostare il binding da Azioni rapide, la possibilità di scegliere la proprietà da associare all'interno della finestra di dialogo data binding.

Per altre informazioni, fare clic sul collegamento precedente.

Problemi noti

Sviluppo di applicazioni per dispositivi mobili con .NET

Strumenti Python

C++ IntelliSense

Dettagli sulle novità di questa versione di Visual Studio 2022 versione 17.0.0

Debug e diagnostica

  • Miglioramenti alle finestre di dialogo di collegamento
  • Nuova visualizzazione elenco di processi padre/figlio tramite l'interruttore nella parte inferiore della finestra
    • La selezione della visualizzazione deve essere salvata in modo permanente.
    • Il tasto sinistro nella tastiera passa al processo padre nella visualizzazione padre/figlio.
    • Tutte le colonne devono essere ordinabili come la vista originale.
  • La colonna Nuova riga di comando è disponibile in entrambe le visualizzazioni.
  • Il nome del pool di app viene visualizzato nella "colonna Titolo" per i processi w3wp

! [Allegare al processo ] (media/17.0/17.0_P2_attach_to _process_3.png)

  • Aggiunta di un helper eccezioni nel blocco catch. Verrà visualizzato l'helper eccezioni con le informazioni sull'eccezione pertinenti quando un passaggio gestito genera un'eccezione e il passaggio viene completato in un blocco catch.
  • Nuovo pulsante 'continue': che mostra l'helper eccezioni sulle eccezioni 'rilevate'.

Aggiornamenti del gestore eccezioni

  • È stata aggiunta un'opzione forza esecuzione per fare clic su che eseguirà il debugger fino a quando non viene raggiunta la posizione del cursore selezionata ignorando tutti i punti di interruzione tra.
  • È possibile eseguire questa operazione facendo clic su "Forza esecuzione a clic" dal menu di scelta rapida nella riga di codice desiderata.

Forza esecuzione su cursore

  • Quando l'applicazione è in modalità di debug, è anche possibile eseguire "Forza esecuzione a clic" facendo clic sul glifo verde visualizzato accanto a una riga di codice quando il mouse è stato posizionato tenendo premuto MAIUSC.

Forza esecuzione su cursore glifo

  • Analisi diagnostica del dump della memoria
    • È stato migliorato il motore dell'analizzatore per trovare altri problemi di sincronizzazione su asincrona nei dump di memoria core ASP.NET.
    • Trovare le parti del codice che utilizzano la maggior parte delle risorse della CPU esaminando i primi 5 thread in base al tempo della CPU.
    • Esaminare l'intero heap gestito per individuare i segni di pressione della memoria nella generazione 0, 1, 2 e nell'heap oggetti di grandi dimensioni.
    • Se si dispone di un dump di arresto anomalo del sistema, è possibile trovare quckly l'eccezione di seconda probabilità e il thread che ha causato l'arresto anomalo dell'applicazione.
    • Difficoltà a formare un'ipotesi di diagnostica? Quando la causa esatta di un arresto anomalo o di un blocco non è nota, è possibile usare Analizzatore eccezioni per trovare rapidamente ed esaminare tutte le eccezioni nell'heap.
    • Per questi momenti in cui l'analisi della memoria è importante è stata migliorata l'euristica dell'analizzatore della coda finalizzatore. A questo punto ci concentriamo sul codice ed escludiamo gli oggetti gestiti da .NET Framework.

Punto di interruzione dipendente

Si tratta di un nuovo punto di interruzione che consente all'utente di configurare un punto di interruzione da abilitare solo se viene raggiunto un altro punto di interruzione. Durante il debug, il debugger di Visual Studio sospende l'applicazione solo nel punto di interruzione Dipendente se viene raggiunto il punto di interruzione dei prerequisiti. È possibile convertire qualsiasi punto di interruzione in punto di interruzione dipendente abilitando la casella di controllo "Abilita solo quando viene raggiunto il punto di interruzione successivo" dalla finestra delle impostazioni e selezionando il punto di interruzione dei prerequisiti dall'elenco a discesa in cui si vuole configurare il punto di interruzione dipendente.

Punto di interruzione dipendente

Miglioramenti della barra dei punti di interruzione

È stato aggiunto un nuovo glifo del punto di interruzione per indicare la posizione in cui l'utente può impostare un punto di interruzione.

Glifo del punto di interruzione

Fare clic con il pulsante destro del mouse sul glifo del punto di interruzione per assegnare un nuovo menu di scelta rapida con opzioni; che offre un modo rapido per creare punti di interruzione avanzata (punto di interruzione condizionale, punto di analisi e punto di interruzione temporaneo) in meno clic.

Menu di scelta rapida del punto di interruzione

Punto di interruzione temporaneo

Si tratta di un nuovo punto di interruzione che consente all'utente di interrompere il codice una sola volta. Durante il debug, il debugger di Visual Studio sospende il runtime dell'applicazione una sola volta per questo punto di interruzione e lo rimuove immediatamente dopo che è stato raggiunto. È possibile convertire qualsiasi punto di interruzione in un punto di interruzione temporaneo abilitando la casella di controllo "Rimuovi punto di interruzione una volta raggiunto" dalla finestra delle impostazioni. In alternativa, è possibile usare il nuovo menu di scelta rapida del clic con il pulsante destro del mouse dalla barra dei punti di interruzione per impostare questo punto di interruzione.

Punto di interruzione temporaneo

Trascinare e rilasciare un punto di interruzione

È stato aggiunto il movimento di trascinamento della selezione per i punti di interruzione. È ora possibile tenere premuto il punto di interruzione e rilasciare nella riga di codice desiderata per spostare il punto di interruzione da una posizione a un'altra. Funziona per il punto di interruzione di avanzamento, purché le variabili di azioni/condizione si trovino all'interno del contesto.

Trascinare e rilasciare un punto di interruzione

Nodo Origini esterne in Esplora soluzioni

È stato aggiunto un nuovo nodo "Origini esterne" in Esplora soluzioni. Questa opzione verrà attualmente visualizzata solo durante il debug e mostrerà le origini per i moduli gestiti con simboli caricati che contengono informazioni sul server di origine o sul collegamento all'origine. Durante il debug, tutti i file di simboli gestiti caricati (con estensione pdb) con informazioni sul server di origine presenti verranno visualizzati in questo nodo. È possibile cercare file come qualsiasi altra cartella di Esplora soluzioni o fare doppio clic su un elemento per scaricare il file dal server di origine e aprirlo nell'editor di Visual Studio. Nodo Origini esterne in Esplora soluzioni

Collegarsi ai miglioramenti della finestra di dialogo

È stata aggiunta una nuova casella di controllo aggiornamento automatico nella finestra di dialogo Collega a processo , che quando seleziona aggiorna automaticamente l'elenco dei processi con i processi disponibili. Nuova opzione "Seleziona qualsiasi finestra dal desktop" dalla finestra di dialogo Collega a processo, consente all'utente di selezionare qualsiasi finestra in esecuzione dal desktop e allegare al processo associato per il debug.

Collegarsi ai miglioramenti della finestra di dialogo

Analisi diagnostica del dump della memoria

Trovare i fotogrammi di chiamata radice quando si verifica un'eccezione stack overflow può essere difficile e dispendioso in termini di tempo. Gli analizzatori più recenti presentano una comoda visualizzazione dello stack di chiamate e rimuove fotogrammi ripetitivi e rumorosi per un'analisi più rapida dei problemi.

Personalizzazione

Convertire i temi di VS Code in temi di Visual Studio

È stato creato uno strumento convertitore di temi in grado di convertire i temi di VS Code in modo che funzionino in Visual Studio. Prova qui.

Nuovo Pacchetto di tema di Visual Studio

I temi predefiniti di VS Code sono ora disponibili come Theme Pack di Visual Studio. Dai un'occhiata al pacchetto di temi qui.

Sincronizza tema con sistema operativo Windows

È stata aggiunta la funzionalità per sincronizzare il tema di Visual Studio con il tema di Windows, in modo che il tema possa essere modificato in base alla quantità di luce ambientale disponibile. Per abilitare questa opzione, passare a Strumenti > Tema > Usa impostazione di sistema.

Schede colore

Per abilitare le schede colori, passare a Strumenti > Opzioni > Schede e Finestre e abilitare Colorize Tabs.

Schede colori

Editore

Spostamento tra sottomaschera

CTRL+ALT+FRECCIA SINISTRA e CTRL+ALT+FRECCIA DESTRA verranno ora spostati in base alla sottoword. Ad esempio, la stringa "HelloWorld" identifica "Hello" e "World" come sottowords. L'abilitazione dello spostamento delle parole secondarie in Strumenti > Opzioni > Editor > di testo Generale causerà l'interazione tra i comandi correlati alle parole (ad esempio Trasposizione) con le parole secondarie.

Salvataggio automatico

In Strumenti > Opzioni > ambiente > Funzionalità di anteprima è ora disponibile il salvataggio automatico. Se abilitata, quando l'applicazione Visual Studio perde lo stato attivo (ad esempio, un'altra finestra ottiene lo stato attivo), tutti i documenti dirty verranno salvati su disco, se possibile. Se non è possibile salvare un file, rimarrà dirty finché l'utente non lo salva in modo esplicito (con i comandi Salva o Salva con nome).

Esperienza copia/incolla con più punti di inserimento

È stata migliorata l'esperienza di copia e incolla con più punti di inserimento. In precedenza, incollando più righe in più punti di inserimento, l'intero Appunti veniva duplicato in ogni punto di inserimento. A questo punto, incollando più righe nello stesso numero di punti di inserimento ogni riga in un punto di inserimento corrispondente. Per utilizzare più punti di inserimento premere ALT+MAIUSC+MOUSE o ALT+MAIUSC+E premere CTRL+MAIUSC+freccia per espandere le selezioni. Premere quindi CTRL+C per copiare il testo in più selezioni. Usare ALT+MAIUSC+mouse per creare più punti di inserimento per ogni riga da incollare nelle posizioni desiderate. Premere infine CTRL+V per incollare ogni riga in corrispondenza del punto di inserimento.

Copia e incolla di più punti di inserimento

Inoltre, è possibile usare ALT+MAIUSC+FRECCIA SU o GIÙ o ALT+MAIUSC+MOUSE per selezionare con più punti di inserimento. In precedenza, questi movimenti creano la selezione della casella. A questo punto, la selezione di caselle si trasforma in più punti di inserimento. Questo metodo è più semplice e veloce rispetto alla necessità di fare clic in posizioni precise per inserire singoli punti di inserimento. Se si preferisce continuare a usare la selezione casella con ALT+MAIUSC+tasti di direzione e ALT+MAIUSC+mouse trascinate quando si espande la selezione di più punti di inserimento, passare a > Strumenti Opzioni > Editor > di testo Avanzate e selezionare Usa selezione casella.

Opzione di selezione casella con più punti di inserimento

Estensibilità

Microsoft.VisualStudio.LanguageServer.Client introduce un nuovo modo per personalizzare le notifiche quando un client di lingua non riesce a inizializzare.

L'attività di inizializzazione verrà ora rilevata dal Centro stato attività (TSC). Se l'attività di inizializzazione ha esito negativo, gli utenti possono accedere al TSC per ottenere altre informazioni su ciò che è andato storto. I client linguistici potranno ora personalizzare il messaggio visualizzato all'utente fornendo informazioni su ciò che questo errore rappresenta e sulle possibili azioni da intraprendere per risolverlo. A tale scopo, verrà introdotto un nuovo set di API nell'interfaccia ILanguageClient. Queste nuove API causano una modifica che causa un'interruzione nell'interfaccia ILanguageClient, quindi le estensioni del linguaggio dovranno fare riferimento al nuovo pacchetto per funzionare in Visual Studio 2022.

Di seguito sono riportate le nuove API:

  1. ShowNotificationOnInitializeFailed - Proprietà booleana che determinerà se il server di lingua vuole che venga visualizzata una bolla per notificare all'utente l'errore simile al seguente:

ShowNotificationOnInitializeFailed nel Centro stato attività

È consigliabile impostare questa proprietà su true solo se l'errore influisce drasticamente sull'esperienza utente per il progetto su cui stanno lavorando.

  1. Metodo OnServerInitializedFailedAsync : questo metodo verrà richiamato quando l'inizializzazione del client di lingua ha esito negativo. Verrà fornito un oggetto LanguageClientInitializationInfoBase con informazioni su come si è verificato l'errore in modo che il client linguistico possa notificare all'utente l'errore in modo autonomo o fornire un messaggio personalizzato con il contesto dell'errore. Se viene fornito il messaggio, verrà visualizzato nella finestra Output di Visual Studio.

Errore di inizializzazione del client di linguaggio nella finestra di output

JavaScript/TypeScript

È ora disponibile il supporto per un nuovo tipo di progetto JavaScript/TypeScript che consente di creare progetti Angular, React e Vue autonomi in Visual Studio. I progetti verranno creati usando gli strumenti dell'interfaccia della riga di comando del framework installati nel computer locale. Ciò significa anche che la versione del modello è basata sulle versioni dell'interfaccia della riga di comando presenti nel computer locale.

All'interno di questi nuovi progetti sarà possibile eseguire unit test e integrarli con ASP.NET progetti API core. La documentazione è disponibile qui

  • È stato rilasciato un nuovo tipo di progetto JavaScript/TypeScript che compila progetti JavaScript/TypeScript autonomi con strumenti aggiuntivi. Altre informazioni sono disponibili qui
  • Interfaccia utente grafica NPM disponibile, quindi è ora possibile scaricare moduli NPM nello stesso modo in cui si scaricano i pacchetti Nuget nei nuovi progetti JavaScript/TypeScript

Interfaccia utente grafica NPMNPM GUI2

esperienza di Ricaricamento rapido per sviluppatori .NET & C++

All'inizio di quest'anno è stato annunciato .NET Ricaricamento rapido, un progetto ambizioso per portare Ricaricamento rapido al maggior numero possibile di sviluppatori .NET. Abbiamo iniziato questo percorso con una prima anteprima disponibile in Visual Studio 2019 e abbiamo promesso molto di più per venire in Visual Studio 2022, in cui l'esperienza completa sarebbe disponibile. Oggi sono entusiasta di condividere i dettagli di ciò che è stato completato nella versione ga di Visual Studio 2022.

Per chiunque non abbia Ricaricamento rapido, ecco un'introduzione rapida. L'esperienza Ricaricamento rapido in Visual Studio funziona sia per le app .NET gestite che per le app C++ native. Indipendentemente dal tipo di app su cui si sta lavorando, l'obiettivo di Ricaricamento rapido consiste nel risparmiare il maggior numero possibile di riavvii delle app tra le modifiche, riducendo il tempo trascorso in attesa di ricompilare, riavviare, tornare alla posizione precedente in cui ci si trovava nell'app stessa e così via.

A tale scopo, è possibile modificare i file di codice delle applicazioni e applicare immediatamente tali modifiche al codice all'applicazione in esecuzione, note anche come "Ricaricamento rapido". Dopo l'applicazione di tali modifiche, è sufficiente ripetere l'esecuzione del codice eseguendo un'azione nell'app stessa (o tramite una sorta di timer e così via) e visualizzare immediatamente le modifiche, senza sospendere l'app tramite punti di interruzione necessari.

Per visualizzare alcune demo live di questa funzionalità, è possibile consultare uno di questi video:

esperienza utente Ricaricamento rapido in Visual Studio

Anche l'esperienza Ricaricamento rapido per sviluppatori .NET e C++ in Visual Studio 2022 ha subito importanti miglioramenti. La barra degli strumenti include ora l'implementazione di destinazione del pulsante "Ricaricamento rapido" con un aspetto migliorato e altre funzionalità.

La prima cosa che noterai è il nuovo pulsante di stile a discesa con una nuova icona. Il comando viene rinominato da "applica modifiche al codice" (dalle anteprime iniziali) a "Ricaricamento rapido".

Ricaricamento rapido'esperienza utente in Visual Studio 2022

Espandendo i pulsanti viene visualizzato l'accesso rapido alle funzionalità, ad esempio il riavvio delle applicazioni in esecuzione, un interruttore di consenso esplicito per Ricaricamento rapido al salvataggio e l'accesso rapido al pannello delle nuove impostazioni.

Ecco altri dettagli su ognuna delle nuove funzionalità:

  • Riavviare facilmente le applicazioni: è ora possibile riavviare facilmente l'applicazione in esecuzione se è necessario applicare una modifica scortese tramite una ricompilazione indipendentemente dal fatto che l'app sia stata avviata usando il debugger o se è stata avviata senza il debugger (NUOVO per le app .NET 6).).
  • Ricaricamento rapido su Salva: Nelle versioni di anteprima precedenti è possibile applicare solo Ricaricamento rapido modifiche al salvataggio nei progetti ASP.NET, per ogni altro progetto è necessario fare clic in modo esplicito sul pulsante Ricaricamento rapido. Nella versione finale è ora possibile Ricaricamento rapido usando la chiave di salvataggio per qualsiasi tipo di progetto. Questa opzione è esplicita, ma una volta abilitata verrà applicata a tutte le sessioni future di Visual Studio, a meno che non venga disattivata.
  • Accesso alle impostazioni semplici: è stato aggiunto un pannello delle opzioni Ricaricamento rapido per offrire maggiore controllo quando Ricaricamento rapido è abilitato/disabilitato. È possibile raggiungere queste impostazioni in Visual Studio "Opzioni > .NET/ C++ Ricaricamento rapido" o tramite il menu a discesa dei pulsanti Ricaricamento rapido facendo clic su Impostazioni.

È stata anche aggiunta una finestra di dialogo di modifica scortese migliorata disponibile quando si esegue l'app .NET senza il debugger.

Finestra di dialogo Nuova modifica scortese per Ricaricamento rapido in Visual Studio 2022

Questa nuova finestra di dialogo offre diversi miglioramenti, ad esempio:

  • Opzione di consenso esplicito a livello di sessione di Visual Studio per ricompilare e applicare modifiche a ogni Ricaricamento rapido modifica scortese. Dopo aver verificato questo problema si applica a tutte le modifiche non valide future fino al riavvio di Visual Studio
  • Ricompilare e applicare il comando di modifica del codice che può essere eseguito con un solo clic, invece di più passaggi manuali
  • E facile accesso alle impostazioni

La finestra di dialogo consente anche di continuare a modificare se non si vuole eseguire alcuna azione automatizzata come è stato possibile in precedenza.

Esiste una limitazione nota, questa nuova finestra di dialogo non sarà disponibile nella versione disponibile a livello generale quando si usa il debugger, ma il lavoro per renderlo disponibile in questo scenario verrà completato in un aggiornamento futuro.

Supporto per le app C++

Quando si usa Visual Studio 2022 e si avvia l'app con il debugger È ora possibile Ricaricamento rapido un'applicazione C++ nativa quando viene eseguita nel debugger (F5) usando il pulsante "Ricaricamento rapido". Ricaricamento rapido è supportato anche per le app compilate con progetti CMake e OpenFolder.

Questa esperienza è basata su modifica e continuazione nativa, per le modifiche supportate, vedere la documentazione.

Scenari e framework app .NET supportati

Da quando è stato annunciato Ricaricamento rapido a maggio 2021, una domanda molto comune da parte degli sviluppatori .NET è stata "Ricaricamento rapido funzionerà con la combinazione di framework/versione delle app .NET?". Abbiamo fatto enormi progressi per fare la risposta SÌ nella maggior parte delle situazioni, ecco i punti salienti.

  • Quando si usa Visual Studio 2022 e si avvia l'app con il debugger, l'esperienza di base Ricaricamento rapido funziona con la maggior parte dei tipi di app e delle versioni del framework .NET, che include .NET Framework, .NET Core e .NET 5+ (sia per C# che per VB.NET, come applicabile). Il tipo di app supportate include web (modifiche code-behind), desktop, dispositivi mobili, cloud e altri tipi di progetto. La regola chiave qui è se si usa il debugger si presuppone che Ricaricamento rapido sia disponibile e provare.
  • Quando si usa Visual Studio 2022 ma non si usa il debugger (ad esempio usando CTRL+F5 per avviare l'app) Ricaricamento rapido è ora disponibile anche senza il debugger quando la destinazione è la maggior parte dei tipi di app .NET 6. Ciò significa che le app non destinate a .NET 6 (.NET 5 o versioni successive) non supporteranno lo scenario "no debugger" e devono usare il debugger per ottenere supporto Ricaricamento rapido.
  • Quando si usa Visual Studio 2022 con un'app .NET 6, sono supportati il maggior numero di scenari. Questa funzionalità non è limitata alla nuova funzionalità "nessun debugger" menzionata in precedenza. Include anche altre nuove funzionalità, ad esempio il supporto per Ricaricamento rapido di progetti Blazor e, più in generale, la modifica di file Razor in qualsiasi ASP.NET app Core e Ricaricamento rapido CSS. L'uso di Visual Studio 2022 e delle app destinate a .NET 6 offre sicuramente l'esperienza di Ricaricamento rapido più potente e speriamo di provare.

Di seguito si esaminerà il riepilogo precedente e si esamineranno altri dettagli.

Visual Studio 2022 con un'app .NET quando si usa il debugger

Quando si usa Visual Studio 2022 e si avvia l'app con il debugger, Ricaricamento rapido funziona con la maggior parte dei framework app, inclusi i tipi di app tipici, ad esempio Console, Windows Form (WinForms), WPF, UWP, WinUI 3* e la maggior parte dei tipi di progetti Web ASP.NET (per le modifiche code-behind), tra cui ASP.NET MVC, API Web e anche progetti Web Form meno recenti. Questo elenco è anche solo un esempio. La risposta reale è ovunque si disponga di .NET e si usa il debugger gestito di Visual Studio, è consigliabile ottenere il supporto di base Ricaricamento rapido.

Ciò significa che anche i progetti come Funzioni di Azure funzionano bene in questo scenario. Vi invitiamo a provare la vostra combinazione e fateci sapere se si trovano problemi.

*WinUI 3 per impostazione predefinita usa il debug in modalità mista che non supporta Ricaricamento rapido. È possibile modificarlo nelle impostazioni del progetto abilitando il debugger gestito che consentirà il corretto funzionamento delle Ricaricamento rapido.

Quando si usa Visual Studio 2022 con un'app .NET, ma non con il debugger

Ricaricamento rapido è ora disponibile senza il debugger quando la destinazione è la maggior parte dei tipi di app .NET 6, inclusi i tipi di progetto, ad esempio Console, WPF, Windows Form (WinForms), ASP.NET Core MVC, API Web e Blazor. Sappiamo che alcuni sviluppatori hanno un buon motivo o preferenza per avviare le app senza il debugger e speriamo che questa funzionalità aggiuntiva darà loro valore per poco o nessun impatto sul tempo di avvio.

Questa funzionalità è esclusiva di .NET 6+ e tali app non destinate a .NET 6 (.NET 5 o versioni successive) non supporteranno lo scenario "no debugger" e devono usare il debugger per ottenere l'accesso alle funzionalità di Ricaricamento rapido.

Tenere presente anche che non tutti i tipi di progetto saranno supportati per lo scenario "no debugger" nella prima versione. In particolare:

  • Le app UWP non sono supportate per Ricaricamento rapido senza il debugger, questo è per impostazione predefinita e non esistono piani correnti per migliorarlo.
  • Le app Xamarin.Forms destinate a iOS e Android non supportano .NET Ricaricamento rapido (indipendentemente dall'avvio dell'app con o senza il debugger), ma continueranno a supportare Ricaricamento rapido XAML
  • Le app MAUI .NET in futuro non supporteranno lo scenario di debugger, ma supporteranno .NET Ricaricamento rapido tramite il debugger

Quando si usa Visual Studio 2022 con un'app .NET 6, la maggior parte dei tipi di scenari è supportata

Gli sviluppatori che sono in grado di usare Sia Visual Studio 2022 che di lavorare su app destinate a .NET 6 otterranno i vantaggi dell'esperienza di Ricaricamento rapido più lucida e in grado di supportare.

Elementi salienti di ciò che è supportato:

  • App Blazor (Server e WebAssembly*)
  • Modifica dei file Razor sia nei siti Web Blazor che nei normali siti Web di ASP.NET Core
  • Css Ricaricamento rapido
  • Possibilità di ottenere supporto Ricaricamento rapido durante l'esecuzione di app senza il debugger (come descritto in precedenza in modo più dettagliato)

Gli sviluppatori destinati a .NET 6 continueranno a migliorare ulteriormente gli aggiornamenti futuri di Visual Studio 2022 e le versioni principali e della banda delle funzionalità .NET. Stiamo solo iniziando!

*Nella versione ga di Visual Studio 2022 Ricaricamento rapido supporto per Blazor WebAssembly quando si usa il debugger di Visual Studio non è ancora abilitato. È comunque possibile ottenere Ricaricamento rapido Se si avvia l'app tramite Visual Studio senza il debugger e si sta lavorando per risolvere questo problema in un aggiornamento futuro di Visual Studio.

Scenari di base di ASP.NET supportati

L'esperienza di base Ricaricamento rapido è ora ampiamente supportata per molti scenari di ASP.NET. La funzionalità più disponibile è la possibilità di modificare il code-behind e altri file di classe .NET per la maggior parte dei tipi di applicazioni Web. Questa funzionalità funziona durante l'uso del debugger di Visual Studio ed è presente ovunque sia disponibile Modifica e continuazione in precedenza.

Per gli sviluppatori ASP.NET Core destinati a .NET 6, non sono disponibili funzionalità aggiuntive per le versioni precedenti di .NET, tra cui miglioramenti, ad esempio:

  • CSHTML: la modifica di un file CSHTML Razor supporta ora molti tipi di modifiche.
  • Aggiornamento del browser: la modifica di un file razor ora aggiornerà automaticamente le modifiche nel Web browser durante il debug. In precedenza era disponibile solo all'avvio dell'app senza il debugger.
  • CSS Ricaricamento rapido: è ora possibile modificare i file CSS mentre l'app è in esecuzione e le modifiche verranno applicate immediatamente all'app in esecuzione durante la digitazione.
  • Nessun debugger: si otterrà ora Ricaricamento rapido supporto quando si usa Visual Studio per avviare l'app Web senza il debugger (CTRL-F5).

Nota: quando si lavora su un'app Blazor Wasm e si usa Visual Studio 2022 (17.0), Ricaricamento rapido per le pagine razor funziona solo quando si avviano app senza il debugger. Verrà aggiunto il supporto del debugger in un aggiornamento futuro.

Modifiche .NET supportate

L'esperienza di Ricaricamento rapido .NET è basata sul meccanismo Modifica e continuazione e sono stati apportati miglioramenti per supportare altri tipi di modifiche che vanno oltre quanto originariamente possibile nelle versioni precedenti. I miglioramenti includono:

  • Aggiunta, aggiornamento o eliminazione di attributi personalizzati
  • Aggiunta o aggiornamento di struct record
  • Aggiunta o aggiornamento di direttive #line
  • Modifica di espressioni switch
  • Modifica di file con direttive #line, incluse le modifiche alla direttiva stessa
  • Modifica di istruzioni di primo livello
  • Modifica del codice che usa una delle nuove funzionalità di C# 10, ad esempio direttive using globali, spazi dei nomi con ambito file, espressioni lambda migliorate e costruttori di struct senza parametri
  • Ridenominazione dei parametri lambda
  • Ridenominazione dei parametri dei metodi esistenti

I miglioramenti precedenti sono disponibili sia per Ricaricamento rapido che per le esperienze di modifica e continuazione.

Aggiornamenti aggiuntivi

  • Ricaricamento rapido e Modifica e Continua con più processi: È ora possibile usare in modo affidabile le esperienze di Ricaricamento rapido e Modifica e Continuazione quando collegate a più processi. In precedenza questa funzionalità non era completamente supportata e non funzionava sempre correttamente, questa funzionalità è stata corretta.
  • Messaggi di errore/avviso aggiornati: sono stati aggiornati molti messaggi di errore/avviso per essere più chiari quando i messaggi si applicano sia a EnC che a Ricaricamento rapido. Questa operazione è stata eseguita rendendo i messaggi più generici in modo che la terminologia di modifica e continuazione non venga usata durante le operazioni di Ricaricamento rapido
  • Unit Testing più rapido delle app .NET: Ricaricamento rapido tecnologia può ora essere usata come funzionalità sperimentale per velocizzare gli unit test quando è destinata a .NET 6. Per altre informazioni, vedere la sezione test di queste note sulla versione

Scenari .NET non supportati

Anche nella versione finale ci saranno ancora alcuni scenari non supportati di cui tenere conto:

  • Le app Xamarin.Forms non supportano i Ricaricamento rapido .NET negli scenari iOS e Android. Riceverai alcuni Ricaricamento rapido quando hai come destinazione un'app UWP. Questo è in base alla progettazione e non ci aspettiamo di apportare ulteriori miglioramenti. Nota: i Ricaricamento rapido XAML continueranno a essere disponibili e supportati per i clienti di Xamarin.Forms nell'SDK più recente.
  • Le app MAUI .NET non sono supportate in questa versione, per l'uso di .NET MAUI e Ricaricamento rapido vedere le note sulla versione di Visual Studio 2022 Update 1 Preview 1 per informazioni dettagliate.
  • Le app compilate con F# o quelle destinate a .NET Native non supporteranno Ricaricamento rapido.

Produttività .NET

Il refactoring degli spazi dei nomi di sincronizzazione è ora disponibile nel menu (clic con il pulsante destro del mouse) di un progetto o di una cartella in Esplora soluzioni, consentendo di sincronizzare facilmente gli spazi dei nomi in modo che corrispondano alla struttura di cartelle.

Sincronizzare gli spazi dei nomi da Esplora soluzioni

La configurazione dell'analisi del codice in background è ora disponibile nel menu Esplora soluzioni (fare clic con il pulsante destro del mouse). Fare clic con il pulsante destro del mouse sul nodo della soluzione in Esplora soluzioni e selezionare Analizza e pulizia del codice. Selezionare quindi Imposta ambito di analisi per configurare l'ambito per l'analisi del codice in background.

  • È ora disponibile un refactoring che introduce un parametro che sposta un'espressione da un'implementazione del metodo ai chiamanti aggiungendo un nuovo parametro. Posizionare il cursore sulla riga contenente l'espressione o evidenziare l'espressione. Premere (CTRL+.) per attivare il menu Azioni rapide e refactoring . Selezionare Introduce parametro per {0} o Introduce parametro per tutte le occorrenze di {0}. Entrambe le opzioni avranno tre opzioni del riquadro a comparsa per (1) inserire l'espressione aggiornata in tutti i siti di chiamata, (2) estrarre e creare un nuovo metodo che restituisce l'espressione e aggiunge un argomento nei siti di chiamata oppure (3) creare un overload del metodo che contiene l'espressione e chiama il metodo originale.

Introduzione al parametro dal menu Azioni rapide

  • È disponibile un nuovo comando denominato Track Value Source che consente di eseguire l'analisi del flusso di dati per determinare il modo in cui determinati valori potrebbero essere passati a un determinato punto e dove potrebbe essere passato. Fare clic con il pulsante destro del mouse su un membro specificato e scegliere Traccia origine valore dal menu di scelta rapida.

Tenere traccia dell'origine valore nel menu di scelta rapida

  • Verrà visualizzata la finestra Rilevamento valori che consente di analizzare i risultati:

Finestra Origine valore traccia

  • È stata aggiunta un'opzione per sottolineare le variabili riassegnate. Questa opzione è disattivata per impostazione predefinita, quindi sarà necessario abilitarla in Strumenti > Opzioni > Editor > di testo C# o Basic Advanced (Avanzate di base > ) e selezionare Underline reassigned variables (Sottolinea variabili riassegnate).

Sottolinea le variabili riassegnate nell'editor

  • È stata aggiunta un'opzione di ricerca nella finestra di dialogo Genera sostituzioni, consentendo di cercare rapidamente e selezionare i membri da sostituire.

Ricerca nella finestra di dialogo Genera sostituzioni

  • Informazioni rapide per i tag di codice> XML <ora conservano gli spazi vuoti e i blocchi CDATA. Posizionare il cursore sull'elemento. Le Informazioni rapide visualizzeranno quindi gli stili supportati dai commenti XML sopra il codice.

Informazioni rapide per XML mantiene gli spazi vuoti

  • La finestra Trova tutti i riferimenti raggruppa ora progetti a più destinazioni per ridurre il rumore visivo.

Trovare tutti i gruppi di riferimento per progetti con più destinazioni

  • È ora disponibile un refactoring che rimuove i tipi ripetitivi in Visual Basic.
  • Passare a Implementazione non passerà più ai membri con dichiarazioni astratte sottoposte a override.

Strumenti del linguaggio C#

In C# 8.0 sono stati introdotti tipi riferimento nullable che consentono di dichiarare se è previsto null. Per usare i tipi riferimento nullable, è necessario aggiungere l'elemento <Nullable>enable</Nullable> al file di progetto oppure aggiungere il #nullable abilitare il pragma a ogni file di origine nel progetto. Per semplificare questo processo, è ora necessario includere automaticamente l'abilitazione <Nullable></Nullable> per i nuovi progetti .NET.

In C# 10.0 viene introdotto lo spazio dei nomi con ambito file che consente di non annidare le definizioni di classe all'interno di uno spazio dei nomi. È ora disponibile un refactoring per convertire uno spazio dei nomi in uno spazio dei nomi con ambito file. Per usare lo spazio dei nomi con ambito file, è prima necessario aggiungere l'elemento <LangVersion>preview</LangVersion> al file di progetto. Posizionare quindi il cursore su uno spazio dei nomi. Premere (Ctrl+.) per attivare il menu Azioni rapide e refactoring. Selezionare Converti nello spazio dei nomi con ambito file.

Refactoring dello spazio dei nomi con ambito file

È ora disponibile un refactoring da preferire is not null is object quando viene applicato ai tipi valore. Per usare questo nuovo refactoring posizionare il cursore su un controllo del tipo. Premere (Ctrl+.) per attivare il menu Azioni rapide e refactoring. Selezionare Prefer null check over type check .Select Prefer null check over type check.

Passare a origini decompilate

Passare a Origini decompilate in ora attivo per impostazione predefinita, consentendo di passare alle dichiarazioni dei tipi di libreria. Passare a Origini decompilate è disponibile quando si richiama Vai a definizione in un simbolo di libreria nel codice sorgente e nelle origini decompilate.

Miglioramenti dell'editor

I commenti XML genereranno ora automaticamente un <exception> tag all'interno di un <summary> tag che consente di aggiungere una descrizione quando un metodo genera in modo esplicito eccezioni.

In Visual Studio 2019 è stato rilasciato Il margine di ereditarietà aggiunge icone ai margini che rappresentano le implementazioni e gli override del codice. Facendo clic sulle icone dei margini di ereditarietà verranno visualizzate le opzioni di ereditarietà che è possibile selezionare per spostarsi. In questa versione Il margine di ereditarietà è abilitato per impostazione predefinita. Per disabilitare Il margine di ereditarietà passare a Strumenti>Opzioni>Editor>di testo C# o Basic>Avanzate e deselezionare Abilita margine di ereditarietà.

Margine di ereditarietà

Linguaggi di programmazione

C# 10

  • Struct e with espressioni di record in struct (record struct Point(int X, int Y);, var newPoint = point with { X = 100 };).
  • Direttive using globali: global using le direttive evitano di ripetere le stesse using direttive in molti file nel programma.
  • Assegnazione definita migliorata: l'assegnazione definita e l'analisi dei valori Null gestiscono meglio i modelli comuni, ad dictionary?.TryGetValue(key, out value) == trueesempio .
  • Stringhe interpolate costanti: le stringhe interpolate composte da costanti sono costanti.
  • Modelli di proprietà estesi: i modelli di proprietà consentono l'accesso ai membri annidati (if (e is MethodCallExpression { Method.Name: "MethodName" })).
  • Record sealed ToString: un record può ereditare un record di base con un oggetto sealed ToString.
  • Generatori di origine incrementali: migliorano l'esperienza di generazione di origine in progetti di grandi dimensioni suddividendo la pipeline di generazione di origine e memorizzando nella cache i risultati intermedi.
  • Decostruzioni miste: le assegnazioni di decostruzione e le dichiarazioni di decostruzione possono essere combinate ((existingLocal, var declaredLocal) = expression).
  • AsyncMethodBuilder a livello di metodo: AsyncMethodBuilder usato per compilare un async metodo può essere sottoposto a override in locale.
  • #line direttiva span: consentire generatori di origine come il controllo con granularità fine Razor del mapping di linee con #line direttive che specificano l'intervallo di destinazione (#line (startLine, startChar) - (endLine, endChar) charOffset "fileName").
  • Miglioramenti dell'espressione lambda: gli attributi e i tipi restituiti sono consentiti nelle espressioni lambda; le espressioni lambda e i gruppi di metodi hanno un tipo delegato naturale (var f = short () => 1;).
  • Gestori di stringhe interpolati: i tipi di gestori di stringhe interpolati consentono una formattazione efficiente delle stringhe interpolate nelle assegnazioni e nelle chiamate.
  • Spazi dei nomi con ambito file: i file con un singolo spazio dei nomi non richiedono parentesi graffe o rientri aggiuntivi (namespace X.Y.Z;).
  • Costruttori di struct senza parametri: supportano costruttori senza parametri e inizializzatori di campi dell'istanza per i tipi di struct.
  • CallerArgumentExpression: questo attributo consente di acquisire le espressioni passate a un metodo come stringhe.

Vedere lo stato delle funzionalità del linguaggio C# e le modifiche che causano un'interruzione per maggiori dettagli.

Razor (ASP.NET Core) Editor

  • È ora disponibile Ricaricamento rapido supporto nei file Razor.

Ricaricare il supporto nei file Razor

  • Sono stati apportati miglioramenti significativi alle prestazioni dell'editor Razor.

  • Abbiamo migliorato la formattazione e il rientro, rendendola più affidabile e significativamente più veloce.

  • Sono stati aggiunti nuovi colori Razor. È possibile personalizzare questi colori in Opzioni > strumenti > Tipi di carattere e colori dell'ambiente>.

  • TagHelpers è ora colorato e supporta la classificazione nelle descrizioni comandi di completamento di Informazioni rapide e IntelliSense.

Supporto per la classificazione taghelpers

  • Sono stati migliorati l'evidenziazione e lo spostamento del ramo angolo per i costrutti Razor.

  • I commenti hanno ora il completamento automatico, il rientro intelligente, l'inclusione automatica delle continuazioni di commenti e l'esplorazione dei commenti in blocchi.

Anteprima sperimentale anticipata dei test remoti

È disponibile un'anteprima sperimentale molto precoce dell'abilitazione dell'esecuzione di test in ambienti remoti, ad esempio contenitori Linux, WSL e connessioni SSH. Anche se si tratta di una funzionalità molto preziosa, chiediamo la pazienza perché questa funzionalità è ancora in uno stato sperimentale molto precoce durante la raccolta di commenti e suggerimenti. Si potrebbe non riscontrare la fluidità che normalmente si ottiene come si può immaginare che ci sono molti scenari di angolo in come possiamo comunicare e gestire un ambiente connesso da Visual Studio. Ecco alcuni requisiti per l'uso di questa versione sperimentale di test remoti:

  • È necessario installare le dipendenze necessarie nell'ambiente di destinazione. Ciò significa che se si vuole che i test destinati a .NET 3.1 vengano eseguiti in un contenitore Linux, è necessario assicurarsi che il contenitore abbia installato .NET 3.1 tramite dockerfile. Un giorno è consigliabile creare un'esperienza di installazione che consenta l'acquisizione senza problemi di una delle dipendenze di test, ma per il momento stiamo lasciando la maggior parte del provisioning dell'ambiente fino alla specifica dell'utente.
  • Pianificare il monitoraggio dello stato della connessione all'ambiente remoto tramite il riquadro Output-Tests>. Ad esempio, se il contenitore è stato arrestato, verrà visualizzato un messaggio nel riquadro Output-Tests>. Non è possibile rilevare tutti gli scenari, quindi pianificare di controllare l'output se sembra che la connessione sia stata persa. In particolare se il riquadro Output non è impostato su "Test", è possibile che il messaggio non venga visualizzato immediatamente. Stiamo ancora sperimentando il miglior modello di notifica quando le connessioni vengono perse in modo che il feedback sia molto gradito! Se la connessione è stata persa, è possibile usare l'elenco a discesa Ambiente di test remoto in Esplora test per ripristinare la connessione all'ambiente locale e quindi selezionare nuovamente l'ambiente remoto per reinizializzare la connessione.
  • L'anteprima sperimentale ha come ambito solo i test .NET per il momento. Siamo consapevoli dell'interesse a supportare le esperienze di test remoti C++ e speriamo di fornire anche questo risultato.

Come è possibile provare i test remoti?

  • I documenti ufficiali arriveranno dopo il periodo sperimentale. Per il momento, ecco ciò che è necessario per iniziare a testarlo.
  • Gli ambienti vengono specificati usando testenvironments.json nella radice della soluzione. La struttura di file JSON segue lo schema seguente:
{
    "version": "1", // value must be 1
    "environments": [
        { "name": "<unique name>", ... },
        ...
    ]
}
  • Connessioni al contenitore locale
    • Per connettersi a un contenitore in esecuzione in locale, è necessario disporre di Docker Desktop nel computer locale. Facoltativamente, abilitare l'integrazione WSL2 per ottenere prestazioni migliori.
    • Per un Dockerfile, l'ambiente può essere specificato nella testEnvironments.json radice della soluzione:
          {
          "name": "<name>",
          "localRoot": "<path to local environment>", // optional
          "type": "docker",
          "dockerImage": "<docker image tag>",
          }
      
      Ad esempio:
      {
      "version": "1",
      "environments": [
          {
          "name": "linux dotnet-core-sdk-3.1",
          "type": "docker",
          "dockerImage": "testenv"
          }
      ]
      }
      
    • Di seguito è riportato un esempio di Dockerfile per l'esecuzione di test destinati a .NET 3.1.
      FROM mcr.microsoft.com/dotnet/core/sdk:3.1
      
    • Compilare il contenitore usando il comando seguente (incluso "." alla fine): docker build -t <docker image name> -f <path to Dockerfile> .
  • Connessioni WSL2 locali
    • È necessario abilitare l'integrazione WSL2 nel computer locale.
    • L'ambiente può essere specificato nella testEnvironments.json radice della soluzione seguendo questo schema:
      {
      "version": "1",
      "environments": [
          {
          "name": "WSL-Ubuntu",
          "type": "wsl",
          "wslDistribution": "Ubuntu"
          }
      ]
      }
      
  • Connessioni SSH
    • Passare a Strumenti > Opzioni > multipiattaforma > Gestione connessioni per aggiungere o rimuovere connessioni SSH. Selezionando "Aggiungi" sarà possibile immettere il nome host, la porta e le credenziali necessarie.
    • L'ambiente può essere specificato nella testEnvironments.json radice della soluzione con quanto segue:
      {
      "version": "1",
      "environments": [
          {
          "name": "ssh-remote",
          "type": "ssh",
          "remoteUri": "ssh://user@hostname:22"
          }
      ]
      }
      
  • L'ambiente attivo viene selezionato tramite un elenco a discesa nella barra degli strumenti esplora test. Attualmente può essere attivo un solo ambiente di test alla volta.

Elenco a discesa Ambiente di test remoto in Esplora test

  • Dopo aver selezionato un ambiente, i test vengono individuati ed eseguiti nel nuovo ambiente.

I test vengono individuati ed eseguiti in ambienti remoti

  • È ora possibile eseguire ed eseguire il debug dei test all'interno dell'ambiente remoto.

    Visualizzare i risultati dei test dall'ambiente remoto in Esplora test

  • Esplora test potrebbe richiedere di installare alcuni prerequisiti dell'ambiente mancanti e di tentare di installarli, ma in definitiva si lascia la maggior parte del provisioning dell'ambiente remoto fino alla specifica dell'utente.

Ricaricamento rapido in Esplora test [sperimentale]: È ora possibile provare una nuova funzionalità sperimentale che velocizza l'esperienza di test usando Ricaricamento rapido tecnologia dietro le quinte. Ciò significa che dopo la prima esecuzione del test in cui è ancora necessaria una compilazione completa, è possibile apportare modifiche secondarie, eseguire i test e tutti gli aggiornamenti verranno riflessi senza dover eseguire di nuovo una compilazione completa. Per iniziare e per altre avvertenze, vedere i dettagli seguenti:

Ricaricamento rapido per Esplora test in Visual Studio consente di eseguire test senza richiedere una compilazione tra modifiche secondarie

  • Questa esperienza è disponibile solo per i progetti destinati a .NET 6 ed è necessario acconsentire esplicitamente passando a "Strumenti > Opzioni > test"

Screenshot di Visual Studio che mostra l'opzione Abilita ricaricamento rapido in Strumenti > Opzioni > test.

  • Quando questa opzione è abilitata, i test vengono aggiornati anche con modifiche non salvate nell'editor. Non viene compilato, quindi i file binari sul disco nella cartella bin non sono aggiornati. Ciò significa che potrebbero verificarsi discrepanze tra ciò che si trova su disco e i risultati dei test in Visual Studio. Per risolvere questi problemi e prima di eseguire l'archiviazione, assicurarsi di eseguire una compilazione completa con (CTRL+MAIUSC+B). Qualsiasi compilazione esplicita sostituirà i risultati del test di ricaricamento rapido con i normali risultati del test di compilazione completa.

  • Esistono alcuni tipi di modifiche che il ricaricamento rapido non può riprendere e in questi casi, per impostazione predefinita verrà eseguito il comportamento precedente dell'esecuzione di una compilazione completa. Si noti anche che vengono rilevate solo le modifiche apportate a Visual Studio, i casi opachi nell'editor, ad esempio la modifica delle destinazioni, potrebbero tornare a richiedere una compilazione completa.

  • Alcune modifiche di grandi dimensioni( ad esempio la ridenominazione di 1000+ nomi di metodi) possono richiedere più tempo per ricaricare ad accesso frequente rispetto alla semplice compilazione. In questi casi, un messaggio verrà stampato nell'output che richiede agli utenti di eseguire una ricompilazione completa anziché attendere il ricaricamento rapido.

  • Le tracce dello stack non sono ancora disponibili con ricaricamento rapido in Esplora test. Se è necessario usare l'analisi dello stack, è consigliabile eseguire una compilazione completa.

Strumenti di test

  • Mostra in Esplora test (CTRL+E,S):Mostra in Esplora test è la possibilità di passare da dove si trova il cursore in un metodo di test nell'editor in cui si trova il test in Esplora test. Questo può ricordare una funzionalità simile denominata Sincronizza con documento attivo che mantiene il documento attualmente in uso evidenziato nella Esplora soluzioni. Questo è stato uno dei migliori elementi votati nella community degli sviluppatori, quindi grazie a tutti coloro che hanno votato e ci hanno aiutato a classificare in ordine di priorità questa funzionalità! Mostra in Esplora test è disponibile anche dal menu di scelta rapida dell'editor, dal glifo del test codeLens e dal pulsante destro del mouse nel Esplora soluzioni.

    Mostra in Esplora test dal menu di scelta rapidaMostra in Esplora test da CodeLens

  • Aggiornamento del supporto test di carico Web e test codificati dell'interfaccia utente: il registratore test di carico Web è disponibile in Visual Studio 2022. Il registratore di test codificati dell'interfaccia utente non verrà incluso in Visual Studio 2022. Sarà comunque possibile eseguire test codificati dell'interfaccia utente e creare nuovi test scrivendo codice in Visual Studio 2022, ma il registratore si basa su dipendenze a 32 bit che non sono fattibili per la conversione. È comunque possibile installare Visual Studio 2019 side-by-side per usare il registratore codificato dell'interfaccia utente. Come promemoria, il test di carico Web e il test codificato dell'interfaccia utente sono stati deprecati nel 2019 e si prevede di rimuoverli dal prodotto quando è possibile ridurre al minimo l'impatto sugli utenti. Invitiamo vivamente gli utenti interessati ai test dell'interfaccia utente Web per adottare il nuovo framework di test Web multipiattaforma e open source Playwright. Oltre a supportare tutti i principali browser e una gestione molto migliore del codice asincrono, Playwright ha anche funzionalità di registrazione dei test predefinite.

Percorsi attendibili

  • Nell'ambito del rinnovo delle "Impostazioni di attendibilità", è stato rimosso il controllo "Contrassegno del Web" e è stata aggiunta una finestra di dialogo di avviso visualizzata quando si tenta di aprire il codice (ad esempio file, progetti o cartelle) che non è stato considerato attendibile in precedenza
  • Il codice può ora essere considerato attendibile nella cartella corrente o nel percorso della cartella padre
  • I progetti creati dall'utente vengono aggiunti automaticamente all'elenco delle posizioni attendibili dell'utente
  • È possibile ignorare i controlli di attendibilità per le posizioni temporanee create dalla funzionalità di Visual Studio

Prima che il contenuto (ad esempio, soluzione, progetto, file o cartella) venga aperto all'interno dell'IDE, si verificherà se il percorso della cartella è stato considerato attendibile in precedenza.

Se viene rilevato codice non attendibile, verrà visualizzata una finestra di dialogo di avviso che segnala le implicazioni per la sicurezza e chiede di considerare attendibile il codice prima della normale operazione dell'IDE.

Nota: anche se questa funzionalità è attualmente disattivata per impostazione predefinita, può essere abilitata tramite Opzioni > Impostazioni > di attendibilità Riquisizione di una decisione di attendibilità prima di aprire il contenuto

Aggiornamenti del nodo Origini esterne

Il nodo Origini esterne in Esplora soluzioni include ora anche il supporto C++. È stato inoltre aggiunto un nuovo sottonodo che offre tutti i moduli con simboli non ancora caricati.

Il nodo Origini esterne in Esplora soluzioni supporta C++

È anche possibile usare il menu di scelta rapida del clic con il pulsante destro del mouse per caricare i simboli direttamente da Esplora soluzioni in modo che i moduli possano essere visualizzati nei nodi di origine esterni. Anche i file del nodo Origini esterne sono ordinati in ordine alfabetico.

Menu Origini esterne

Icona aggiornata e aggiornata

  • Nell'ambito dell'obiettivo di aggiornare l'interfaccia utente per Visual Studio 2022, sono disponibili icone appena aggiornate e aggiornate nell'IDE in base alla coerenza, alla leggibilità e alla familiarità.

Esempi di nuove icone con sfondi scuri e chiari

Ricaricamento rapido XAML

Sono state aggiornate le impostazioni di Ricaricamento rapido XAML e le barre degli strumenti in-app per garantire maggiore chiarezza che le impostazioni e nelle esperienze dell'app sono correlate a Ricaricamento rapido XAML e non a .NET Ricaricamento rapido.

Barra degli strumenti in-app aggiornata nelle app XAML

Abbiamo anche semplificato il riquadro delle impostazioni per organizzare meglio le opzioni comuni insieme.

Pannello delle opzioni impostazioni XAML aggiornato

Anteprima di XAML Live

Xaml Live Preview è ora disponibile per gli sviluppatori WPF, UWP, WinUI e Xamarin.Forms che eseguono le app nell'emulatore Android o come app desktop UWP. Live Preview acquisisce un'interfaccia utente delle applicazioni in esecuzione e la inserisce in una finestra ancorata in Visual Studio. In questo modo è più semplice usare xaml Ricaricamento rapido per modificare l'app durante la visualizzazione di tali modifiche all'interno di Visual Studio stesso, senza la necessità di eseguire tabulazioni tra l'app in esecuzione e Visual Studio apportando modifiche al codice XAML in tempo reale.

Anteprima in tempo reale dell'interfaccia utente delle app desktop XAML

Attività iniziali:

  • Avviare un'applicazione supportata usando il debugger
  • Attivare l'anteprima live XAML, tramite la ricerca rapida digitando "Anteprima live XAML" o usando il pulsante "Mostra in anteprima live XAML" sulla barra degli strumenti in-app

Una volta avviata l'esperienza, saranno disponibili le funzionalità seguenti:

  • Scorrimento e zoom: è possibile eseguire la panoramica e lo zoom della finestra che acquisisce l'interfaccia utente delle app, in modo da renderla adatta alle proprie esigenze per mostrare l'app completa o solo le parti che si sta tentando di modificare. La panoramica e lo scorrimento funzionano con un touch pad (scorrimento di due dita), la rotellina del mouse o CTRL + Clic per trascinare il contenuto.
  • Righelli: è possibile aggiungere uno o più righelli orizzontali/verticali per sovrapporre l'app in esecuzione. Queste linee possono quindi essere spostate nella posizione utilizzando il mouse o la tastiera. Quando si spostano righelli con tastiera usare i tasti di direzione per il posizionamento preciso e ctrl + tasto freccia per il posizionamento rapido. È anche possibile eliminare i righelli selezionandoli (facendo clic su di essi) e premendo il tasto di eliminazione.
  • Suggerimenti per selezione elementi e info: con la selezione degli elementi puoi selezionare l'elemento XAML che vuoi modificare usando la stessa funzionalità che potresti usare dalla barra degli strumenti Della struttura ad albero visuale attiva o nella barra degli strumenti in-app. Dopo aver selezionato è anche possibile abilitare la nuova funzionalità "suggerimenti informazioni" per ottenere informazioni aggiuntive sull'elemento selezionato, ad esempio tipi di carattere, colori, margini/informazioni di riempimento e altro ancora. Quando si usa Selezione elementi è consigliabile abilitare Anteprima elemento selezionato, tramite il pulsante della barra degli strumenti Albero visuale attivo o Opzioni > di debug > Ricaricamento rapido impostazioni, per passare al codice XAML di origine.
  • Cambio di Windows: è possibile controllare quali finestre dell'app vengono acquisite.

Esperienza di associazione XAML migliorata

  • Icone del data binding migliorate in Controllo proprietà. È ora possibile accedere rapidamente alla finestra di dialogo data binding facendo clic su un'icona "cilindro" accanto a una proprietà ed è possibile cancellare l'associazione facendo clic sull'icona "x".

Icone di associazione in Controllo proprietà

  • Aggiunta della scheda Binding in Azioni rapide per creare associazioni con pochi clic dalla finestra di progettazione XAML.

Scheda Binding in Azioni rapide

  • Aggiunta della casella combinata Proprietà di destinazione alla finestra di dialogo Data Binding per selezionare la proprietà in movimento.

Finestra di dialogo Data Binding aggiornata con la casella combinata Proprietà di destinazione

Problemi più votati dalla community degli sviluppatori

Vedere l'elenco completo delle correzioni della community degli sviluppatori in questa versione.


Problemi noti

Vedere tutti i problemi aperti e le soluzioni alternative disponibili in Visual Studio 2022 seguendo il collegamento seguente.

Feedback e suggerimenti

I commenti degli utenti sono molto apprezzati. È possibile segnalare un problema o suggerire una funzionalitàIcona Commenti e suggerimenti usando l'icona Invia commenti e suggerimenti nell'angolo in alto a destra del programma di installazione o dell'IDE di Visual Studio o dall'invio > di commenti e suggerimenti. È possibile tenere traccia dei problemi usando Visual Studio Developer Community, in cui si aggiungono commenti o si trovano soluzioni. È anche possibile usufruire gratuitamente del supporto per l'installazione con Assistenza live chat.


Blog

Sfruttare i vantaggi delle informazioni dettagliate e delle raccomandazioni disponibili nel sito dei blog sugli strumenti di sviluppo per mantenersi aggiornati su tutte le nuove versioni con post di approfondimento su una vasta gamma di funzionalità.


In alto