Note sulla versione di Visual Studio 2017 versione 15.5

Ultimo aggiornamento 17/01/2018

Community degli sviluppatori | Requisiti di sistema | Compatibilità | Codice distribuibile | Condizioni di licenza | Blog | Problemi noti


Nota

Se si accede a questa pagina da una versione che non è in lingua inglese e si vuole visualizzare il contenuto più aggiornato, visitare la pagina delle Note sulla versione in inglese.

Nota

È possibile cambiare l'impostazione relativa alla lingua passando al piè di pagina nella parte inferiore della pagina. Fare clic sull'icona e selezionare la lingua da usare.

In questo articolo sono disponibili informazioni sulla versione corrente di Visual Studio 2017. Fare clic sul pulsante per scaricare la versione più recente.

Per informazioni sull'installazione, fare riferimento ai documenti sull'installazione e sull'installazione offline.

Commenti e suggerimenti

Le opinioni dei nostri clienti sono molto importanti per noi. È possibile segnalare un problema tramite l'opzione Segnala un problema disponibile nell'angolo superiore destro del programma di installazione o dell'IDE di Visual Studio. L'icona Feedback Icon si trova nell'angolo superiore destro. È possibile visualizzare lo stato dei problemi nella community degli sviluppatori di Visual Studio, dove è possibile creare domande e trovare risposte. È anche possibile creare un suggerimento relativo a un prodotto tramite UserVoice e ottenere suggerimenti gratuiti per l'installazione con Assistenza live chat.

Si richiede supporto professionale immediato? Vedere le opzioni di supporto disponibili.

Cronologia dei rilasci

Altre informazioni sulle modalità di rilascio e su versioni diverse sono disponibili nel documento Tempistica per i rilasci di Visual Studio 2017.

Problemi noti

Vedere la sezione Problemi noti.


Data di rilascio: 9 gennaio 2018 - Visual Studio 2017 versione 15.5.3

Problemi principali corretti in questa versione

Avvisi di sicurezza Microsoft per .NET Core

  • CVE-2018-0786 Bypass della funzionalità di sicurezza nella convalida del certificato X509. Microsoft sta rilasciando questo avviso di sicurezza per offrire informazioni su una vulnerabilità nelle versioni pubbliche di .NET Core 1.0 e 1.1 e 2.0. Questo avviso offre anche informazioni aggiuntive sulle operazioni che gli sviluppatori possono eseguire per aggiornare le applicazioni in modo corretto. Questo avviso di sicurezza è applicabile anche a .NET nativo per piattaforma UWP (Universal Windows Platform).

    Microsoft è a conoscenza di una vulnerabilità di sicurezza nelle versioni pubbliche di .NET Core in cui un utente malintenzionato potrebbe presentare un certificato contrassegnato come non valido per un uso specifico, ma che viene usato da un componente per un altro scopo. Questa azione non considera il contrassegno con l'utilizzo chiavi avanzato.

    L'aggiornamento della sicurezza risolve la vulnerabilità assicurando che i componenti di .NET Core eseguano la convalida completa dei certificati. È consigliabile che gli amministratori di sistema aggiornino i runtime .NET Core alle versioni 1.0.9, 1.1.6 e 2.0.5. È consigliabile che gli sviluppatori aggiornino .NET Core SDK alla versione 2.1.4 o 1.1.7.

  • CVE-2018-0764 Denial of Service nell'analisi dei documenti XML. Microsoft sta rilasciando questo avviso di sicurezza per offrire informazioni su una vulnerabilità nelle versioni pubbliche di .NET Core 1.0 e 1.1 e 2.0. Questo avviso offre anche informazioni aggiuntive sulle operazioni che gli sviluppatori possono eseguire per aggiornare le applicazioni in modo corretto.

    Microsoft è a conoscenza di una vulnerabilità di tipo Denial of Service in tutte le versioni pubbliche di .NET Core dovuta all'elaborazione non corretta dei documenti XML. Un utente malintenzionato potrebbe sfruttare questa vulnerabilità e causare un attacco Denial of Service contro un'applicazione .NET. Un utente malintenzionato non autenticato remoto potrebbe sfruttare questa vulnerabilità inviando richieste appositamente predisposte a un'applicazione .NET Core.

    L'aggiornamento risolve la vulnerabilità correggendo la modalità con cui .NET Core gestisce l'elaborazione dei documenti XML. È consigliabile che gli amministratori di sistema aggiornino i runtime .NET Core alle versioni 1.0.9, 1.1.6 e 2.0.5. È consigliabile che gli sviluppatori aggiornino .NET Core SDK alla versione 2.1.4 o 1.1.7.


Data di rilascio: 14 dicembre 2017 - Visual Studio 2017 versione 15.5.2

Problemi principali corretti in questa versione

Questi sono i problemi segnalati dai clienti risolti in questa versione:


Data di rilascio: 7 dicembre 2017 - Visual Studio 2017 versione 15.5.1

Problemi principali corretti in questa versione

Questi sono i problemi segnalati dai clienti risolti in questa versione:


Data di rilascio: 4 dicembre 2017 - Visual Studio 2017 versione 15.5

Riepilogo: Novità di questa versione

Problemi principali corretti in questa versione

Questi sono i problemi segnalati dai clienti risolti in questa versione:


Dettaglio: Novità di questa versione

IDE di Visual Studio

Configurazione e installazione

  • Il programma di installazione genera ora un punto di ripristino di Windows durante l'installazione.
  • Aggiungi/Rimuovi programmi include ora voci per ogni installazione di Visual Studio. Il programma di installazione di Visual Studio supporta ora la modifica e la disinstallazione per ogni voce.
  • L'installazione da un layout offline non richiede più l'installazione di certificati intermedi in un computer disconnesso.
  • Sono stati introdotti miglioramenti per l'affidabilità del processo di installazione e aggiornamento e la possibilità di annullarlo.

Aggiornamento della finestra di dialogo di errore

È stata aggiornata la finestra di dialogo di errore per visualizzare altre informazioni utili per la risoluzione dei problemi di installazione con potenziali soluzioni dalla community di sviluppatori Visual Studio. (Figura 1).

New installer error dialog box

(Figura 1) Finestra di dialogo di errore del programma di installazione

Prestazioni

  • Riduzione dei tempi di caricamento di progetti C# e Visual Basic di grandi dimensioni.
  • Riduzione del tempo necessario per passare dalla configurazione di debug a quella di rilascio e viceversa.
  • Riduzione del tempo per aggiungere, rimuovere e rinominare file e cartelle nei progetti .NET Core.
  • Caricamento leggero soluzioni deprecato perché è stato ridotto il tempo di caricamento delle soluzioni senza Caricamento leggero soluzioni.

Servizi connessi

  • Aggiornamento del provider del servizio di archiviazione di Azure per supportare i progetti ASP.NET Core destinati a .NET Core.

Aggiornamenti di Team Explorer

Gli ultimi aggiornamenti di Team Explorer sono stati ispirati dai commenti e suggerimenti degli utenti su UserVoice.

È ora possibile utilizzare moduli secondari e alberi di lavoro GIT e configurare fetch.prune e pull.rebase in Team Explorer. Visual Studio gestisce ora i moduli secondari e gli alberi di lavoro GIT come normali repository. È sufficiente aggiungerli all'elenco dei repository locali e ottenere il codice.

Si noti che per i moduli secondari non è ancora possibile eseguire azioni che richiedono il supporto di più repository, ad esempio visualizzare allo stesso tempo un file nel repository padre e un file in un modulo secondario.

Inoltre, è ora più semplice impostare il comportamento di GIT predefinito per l'eliminazione a ogni recupero e la riassegnazione a ogni pull. L'opzione per l'eliminazione a ogni recupero rimuove i rami di verifica locali che non esistono più nel server ed è utile per mantenere pulito e aggiornato l'elenco dei rami. L'opzione per la riassegnazione a ogni pull mantiene la cronologia dei commit lineare e più semplice da seguire. Queste opzioni sono disponibili in Impostazioni globali e Impostazioni repository.

Avvisi di sicurezza .NET Core e ASP.NET Core

Microsoft ha rilasciato gli avvisi di sicurezza di .NET Core e ASP.NET Core. I dettagli sono disponibili negli annunci corrispondenti nell'archivio .NET Core e ASP.NET Core. Vedere le informazioni riportate di seguito:

  • CVE-2017-8585 Il formato certificato non valido può causare una negazione del servizio: è presente una vulnerabilità di sicurezza in .NET Core 1.0, 1.1 e 2.0 in un formato certificato non valido oppure i dati formattati in ASN. 1 potrebbero causare una negazione del servizio tramite un ciclo infinito in Linux e macOS. È consigliabile che gli amministratori del sistema aggiornino i runtime .NET Core alle versioni 1.0.8, 1.1.5 e 2.0.1. È consigliabile che gli sviluppatori aggiornino i componenti di base di .NET SDK alla versione 2.0.3 o 1.1.5.

  • CVE-2017-8700 ignorare CORS può abilitare la diffusione di informazioni: è presente una vulnerabilità di sicurezza in ASP.NET Core 1.0 e 1.1 in cui è possibile ignorare la condivisione risorse tra le origini (CORS), causando la diffusione di informazioni.

  • CVE-2017-11879 Il reindirizzamento può causare l'elevazione dei privilegi: è presente una vulnerabilità di sicurezza in ASP.NET 2.0 Core in cui un reindirizzamento porta all'elevazione dei privilegi.

  • CVE-2017-11770 vulnerabilità di tipo negazione del servizio: è una vulnerabilità di sicurezza in ASP.NET Core 1.0, 1.1 e 2.0 quando è ospitata l'applicazione tramite HTTP. sys Windows in cui una richiesta in formato non corretto può causare una negazione del servizio.

I nuovi progetti creati con ASP.NET Core 1.0, ASP.NET Core 1.1 e ASP.NET Core 2.0 useranno versioni del pacchetto che includono gli aggiornamenti di sicurezza sopra indicati. Per i progetti esistenti, gli utenti possono aggiornare i pacchetti a versioni più recenti, tramite la finestra di dialogo Gestisci pacchetti NuGet.

Set di strumenti del compilatore MSVC

In Visual Studio 2017 15.5, il set di strumenti del compilatore MSVC negli strumenti di compilazione è stato aggiornato alla versione 14.12, compatibile con il set di strumenti 14.11 della versione 15.4. Se si riscontrano problemi durante la compilazione del codice dopo l'aggiornamento a Visual Studio 2017 15.5, è possibile forzare l'installazione del set di strumenti 14.11 affiancato al set di strumenti 14.12. Il set di strumenti di Visual Studio 2017 15.4 (14.11) può essere selezionato nella scheda Singoli componenti, dopo aver installato il carico di lavoro Sviluppo di applicazioni desktop con C++.

Novità del compilatore C#

Il compilatore C# supporta ora il set di funzionalità del linguaggio 7.2, tra cui:

  • Supporto dell'uso del tipo Span<T> in Kestrel e CoreFX tramite il modificatore ref struct.
  • Modificatore readonly struct: impone che tutti i membri di uno struct siano readonly. Viene così aggiunto un livello di correttezza al codice e ciò consente anche al compilatore di evitare la copia di valori non necessaria quando si accede ai membri.
  • Parametri in / restituzioni di ref readonly: consente il passaggio e la restituzione in sicurezza di struct non modificabili con la stessa efficienza dei valori ref modificabili.
  • Modificatore di accesso private protected: limita l'accesso al punto di intersezione tra protected e internal.
  • Argomenti denominati non finali: è ora possibile usare argomenti denominati all'interno di un elenco di argomenti senza il requisito di passaggio per nome di tutti gli argomenti seguenti.

Strumenti di Visual Studio per Xamarin

Questa versione include il supporto aggiornato per gli SDK di Xamarin per iOS e Android:

Vista corrente Live Run

La creazione di interfacce utente basate su XAML è diventata ancora più semplice con la nuova funzionalità Vista corrente Live Run (figura 2). Mentre si compone l'interfaccia utente è possibile vedere il risultato durante la digitazione nell'emulatore Android, senza dover salvare, compilare o ridistribuire l'app.

(Figura 2) Vista corrente Live Run

Xamarin Live Player

Xamarin Live Player consente agli sviluppatori di distribuire, testare ed eseguire il debug delle app in modo continuo, direttamente in dispositivi iOS e Android. Dopo aver scaricato l'app Xamarin Live Player, disponibile in App Store o in Google Play, è possibile associare il dispositivo a Visual Studio e iniziare a compilare app per dispositivi mobili usando semplicemente Visual Studio e il dispositivo mobile. Grazie all'ottimizzazione per Xamarin.Forms, è ora possibile modificare il codice XAML e visualizzare immediatamente le modifiche nel dispositivo senza dover compilare o attendere la distribuzione completa. Questa versione offre numerosi miglioramenti per le funzionalità di Xamarin Live, tra cui:

  • Debug ed esecuzione in diretta più intelligenti: Live Player può ora adattare automaticamente il progetto di avvio alla piattaforma corretta durante il debug in Xamarin Live Player (figura 3). Ad esempio, se si seleziona la piattaforma iOS e il dispositivo Live Player associato è un Google Pixel, l'IDE consiglierà di modificare il progetto di avvio per Android.
  • Stato della distribuzione: è ora possibile tenere traccia dello stato di un'operazione di debug in Xamarin Live Player grazie all'indicazione degli stati di distribuzione nella barra di stato.
  • Integrazione delle finestre della console e degli errori: l'output registrato nell'app verrà ora visualizzato nella finestra della console e gli errori verranno ora visualizzati nella finestra degli errori in Visual Studio.
  • Menu di scelta rapida e tasto di scelta rapida per l'esecuzione in diretta: per consentire di visualizzare immediatamente e in modo semplice l'interfaccia utente XAML, sono stati aggiunti un menu di scelta rapida e un tasto di scelta rapida per velocizzare e semplificare la visualizzazione in anteprima delle pagine XAML.
  • Alternanza di documenti per l'esecuzione in diretta: durante la compilazione delle interfacce utente, è comune avere l'esigenza di spostarsi tra documenti XAML diversi. Quando si cambia il documento attivo in Visual Studio, viene eseguita automaticamente in diretta qualsiasi pagina XAML aperta, quindi è possibile spostarsi facilmente tra pagine diverse e visualizzarle immediatamente nel dispositivo.

Animazione delle modalità di associazione, distribuzione e modifica in diretta di Xamarin Live Player.

(Figura 3) Animazione delle modalità di associazione, distribuzione e modifica in diretta di Xamarin Live Player

Modelli

L'interfaccia File -> Nuovo progetto -> App per dispositivi mobili(figura 4) è stata semplificata con aggiornamenti alla creazione guidata di modelli multipiattaforma per app iOS, Android e Windows, tra i quali:

  • Supporto di .NET Standard: è ora possibile creare una nuova app Xamarin multipiattaforma che usa .NET 2.0 Standard come strategia di condivisione del codice.
  • Casella di controllo per le piattaforme di destinazione: è possibile selezionare le piattaforme di interesse in File -> Nuovo.
  • PackageReference- Per impostazione predefinita, tutti i modelli ora usano PackageReference, un nuovo modo semplice per gestire i pacchetti NuGet nelle app Xamarin.
  • Miglioramenti per le prestazioni di espansione: l'espansione dei modelli dovrebbe ora avvenire molto più velocemente rispetto a prima. Nei casi più estremi, il tempo di espansione potrebbe migliorare fino a 40 volte.

File -> New -> Mobile App

(Figura 4) Impostazione File -> Nuovo -> App per dispositivi mobili"

Simulatore iOS remoto

Il simulatore iOS remoto offre un modo semplice per eseguire il debug e testare le app iOS nel simulatore interamente da Visual Studio in Windows. Il simulatore remoto supporta tutte le operazioni consentite dal simulatore iOS su Mac e altro ancora, incluso il supporto multitocco. A partire da Visual Studio 2017 versione 15.5, il simulatore iOS remoto è ora disponibile in tutte le edizioni di Visual Studio, inclusa la Community Edition gratuita.

Xamarin Android SDK Manager

La gestione degli SDK Android SDK è ora più semplice con il nuovo Xamarin Android SDK Manager. È possibile accedere al nuovo SDK Manager tramite Strumenti -> Android -> Android SDK Manager in Visual Studio.

Miglioramenti degli strumenti F#

Nella versione Visual Studio 2017 15.5 il lavoro è stato concentrato sul supporto dei progetti .NET Core SDK per gli strumenti F#. Sono ora supportate le funzionalità seguenti:

  • È possibile creare nuove app console .NET Core, librerie .NET Standard e progetti di unit test .NET Core da File > Nuovo progetto.
  • È stato aggiunto il supporto per i progetti .NET Core e .NET Standard esistenti.
  • È stato aggiunto il supporto per i progetti .NET Core SDK esistenti destinati a una versione di .NET Framework.
  • Sono supportati i riferimenti da progetto a progetto.
  • È stato aggiunto il supporto per i progetti Web SDK (ad esempio, i progetti ASP.NET Core di F# o un progetto che usa il modello Giraffe).
  • È ora possibile fare clic con il pulsante destro mouse sugli strumenti di pubblicazione con i progetti Web SDK.
  • È supportata la generazione automatica di una pipeline CI/CD con gli strumenti di Visual Studio Team Services.

Sono stati anche introdotti vari miglioramenti per gli strumenti di Visual F# non destinati nello specifico ai progetti .NET Core SDK, e comprendono:

  • Vai a definizione da F# a C#, di Saul Rennison e Vasily Kirichenko.
  • Colorazione per il tema Blu (massimo contrasto), di Microsoft e Vasily Kirichenko.
  • Le pagine delle proprietà vengono ridimensionate automaticamente in modo corretto su monitor diversi.
  • Rientro automatico intelligente per le nuove righe quando il rientro è impostato su "Intelligenti", di Duc Nghiem Xuan.
  • Annullamento automatico del rientro per le parentesi quadre di chiusura quando il rientro è impostato su "Intelligenti", di Saul Rennison.
  • I campi di enumerazione possono ora essere visualizzati come simboli nelle descrizioni comando, in Trova tutti i riferimenti, Vai a tutti e Ridenominazione inline, di Vasily Kirichenko.
  • I commenti in formato documentazione XML che sono separati da caratteri di nuova riga non vengono anteposti al commento in formato documentazione XML corrente al passaggio del mouse, di Vasily Kirichenko.
  • La documentazione XML per la parola chiave ref è stata corretta da CHBen.
  • Più correzioni di bug e miglioramenti delle prestazioni.

Segnalare eventuali problemi riscontrati nel repository GitHub.

Modifiche per l'installazione di F#

È stata modificata la modalità di acquisizione di F#:

  • Se si installa un carico di lavoro che richiede .NET Core 2.0, verrà installato anche il supporto per il linguaggio F# per impostazione predefinita. Questo comportamento è ora supportato dai carichi di lavoro .NET Core, ASP.NET e Azure.
  • La casella di controllo "Supporto per il linguaggio F#" nei carichi di lavoro Sviluppo per desktop .NET, Elaborazione ed archiviazione dati e Applicazioni analitiche e di analisi scientifica dei dati è stata rinominata "F# desktop support" (Supporto per desktop F#).

Miglioramenti del compilatore F# 4.1

Questa versione include varie correzioni di bug per il compilatore F# 4.1:

  • Miglioramenti per la generazione di file PDB nel compilatore F#, con correzione di cinque problemi noti di debug di F# risalenti al 2014.
  • Correzione per i campi dei record risolti in modo non corretto dal compilatore, di Vasily Kirichenko.
  • StartAsTask aspetterà ora correttamente che l'annullamento venga completato, di Matthias Ditrich.
  • Vengono ora creati riferimenti ad assembly quando un tipo viene usato solo in un attributo.
  • Le unioni discriminate di struct a case singolo con lo stesso nome di case non vengono più convertite in un tipo di oggetto in modo invisibile all'utente.
  • Possibile ciclo asincrono infinito in MailboxProcess. Ricezione corretta.

Miglioramenti per Visual C++

È ora possibile importare progetti CMake e configurazioni della cache esistenti nell'IDE tramite File > Apri > CMake.

Apri cartella supporta esportazioni del compilatore online ARM

Scegliere l'opzione nel carico di lavoro Linux C++ per progetti Embedded e IoT in modo da poter modificare e compilare progetti destinati a microcontroller ARM. È supportata l'apertura di progetti esportati come GCC dal compilatore ARM online, che possono quindi essere compilati in locale da Visual Studio. Per altre informazioni, vedere il post di blog sullo sviluppo con Visual C++ per ARM.

Attività remote

Apri cartella supporta ora attività remote. Si tratta di attività eseguite in un sistema remoto su Secure Shell (SSH). Queste attività possono anche essere configurate per copiare i file nel computer di destinazione per eseguire operazioni come la compilazione di codice con make in un sistema Linux. Per altre informazioni, vedere il post di blog sull'uso delle attività remote in Visual Studio.

Miglioramenti per la libreria di modelli standard (STL, Standard Template Library)

Il sito Web Open Standard include varie pagine per i gruppi che producono standard aperti. Sono stati introdotti i miglioramenti seguenti alla librerie di modelli standard in riferimento allo standard C++ 17:

  • not_fn(): P0005R4 consiglia l'adozione del binder di funzioni not_fn da Library Fundamentals TS v2 in sostituzione dei negatori precedenti not1 e not2.
  • Riformulazione enable_shared_from_this: P0033R1 Re-enabling shared_from_this.
  • Deprecazione di parti superflue della libreria: P0174R2. Varie funzionalità della libreria standard C++ sono sorpassate in seguito ad aggiunte nel corso degli anni oppure si è riscontrato che non corrispondono agli scopri progettati e previsti in origine. In questo documento viene proposta la deprecazione di funzionalità nei casi in cui sono disponibili opzioni migliori, più semplici e più chiare.
  • Rimozione del supporto dell'allocatore in std::function: P0302R1. Il modello di classe std::function include vari costruttori che accettano un argomento allocatore, ma la semantica è poco chiara e vi sono problemi tecnici con l'archiviazione di un allocatore in un contesto con cancellazione del tipo e con il successivo ripristino di tale allocatore per qualsiasi allocazione necessaria durante l'assegnazione di copia. Questi costruttori statici devono essere rimossi.
  • Correzioni per not_fn(): P0358R1. Viene proposta una nuova formulazione per std::not_fn, che tra gli altri miglioramenti, offre il supporto della propagazione della categoria di valori in caso di chiamata al wrapper.
  • shared_ptr<T[]>, shared_ptr<T[N]>: P0414R2. Unione delle modifiche shared_ptr da Library Fundamentals a C++17.
  • Correzione di shared_ptr per le matrici: P0497R0. Correzioni al supporto di shared_ptr per le matrici.
  • Deprecazione di shared_ptr::unique(): P0521R0. Proposta di risoluzione per CA 14 (shared_ptr use_count/unique).
  • Deprecazione di codecvt: P0618R0, non è il modo migliore per gestire la transcodifica Unicode. Questo componente della libreria deve essere ritirato nell'allegato D.
  • Rimozione delle specifiche di eccezione dinamiche: P0003R5. Le specifiche di eccezione dinamiche sono deprecate in C++11. Rimozione della funzionalità da C++ 17, mantenendo la specifica throw () (ancora) deprecata specifica unicamente come un alias per noexcept(true).
  • Splicing di mappe e set: P0083R3. Questa progettazione consente operazioni di splicing di tutti i tipi, lo spostamento di elementi (incluse chiavi mappa) fuori dal contenitore e varie altre operazioni e progettazioni utili. Si tratta di un miglioramento dei contenitori associativi e dei contenitori associativi non ordinati per supportare la modifica dei nodi. Questa è un'aggiunta alla libreria standard.
  • Chiarimento di insert_return_type: P0508R0. I contenitori associativi con chiavi univoche e i contenitori non ordinati con chiavi univoche hanno una funzione membro di inserimento che restituisce un tipo annidato insert_return_type. Il tipo restituito è una specializzazione del tipo specificato in questa sezione.
  • Variabili inline per la libreria di modelli standard: P0607R0.

Miglioramenti del compilatore Visual C++

Il compilatore Visual C++ supporta il 75% circa delle funzionalità di C++17, compresi binding strutturati, espressioni lambda constexpr, if constexpr, variabili inline, espressioni di riduzione, valori letterali hexfloat e l'aggiunta di noexcept al sistema di tipi. Queste funzionalità sono disponibili tramite l'opzione /std:c++17. La modalità di conformità /permissive- include il supporto parziale per la ricerca dei nomi in due fasi e il supporto migliorato per l'espansione del pacchetto per i modelli variadic. Inoltre, è stata aggiunta la modalità /permissive- come nuovo menu a discesa del linguaggio nelle proprietà del progetto per i progetti C++.

Miglioramenti dell'ottimizzatore di Visual C++

Il team di generazione del codice C++ ha introdotto miglioramenti per le ottimizzazioni del compilatore esistenti e aggiunto nuove ottimizzazioni nella versione 15.5.

Alcuni miglioramenti del linker sono i seguenti:

  • Implementazione nuova e più veloce di /OPT:ICF: velocizzazione fino al 9% dei tempi di collegamento.
  • Sono state introdotte correzioni per il collegamento incrementale. Il collegamento incrementale non sarà mai più lento rispetto al collegamento completo.

Alcuni miglioramenti delle ottimizzazioni esistenti sono i seguenti:

  • Miglioramento dell'euristica di vettorializzazione per le espressioni condizionali.
  • L'ottimizzazione di loop-if-unswitching è stata migliorata.
  • Miglioramenti dello srotolamento del ciclo (loop unrolling).
  • Miglioramento di float min/max codegen.

Alcune nuove ottimizzazioni sono le seguenti:

  • Miglioramento ed eliminazione delle istruzioni ridondanti (e parzialmente ridondanti) per l'ottimizzatore SSA.
  • Ottimizzazione della vettorializzazione degli archivi scalari condizionali.
  • Combinazione delle chiamate sin(x) e cos(x) a sincos(x).

Visual C++ supporta Intel AVX-512, comprese le istruzioni per la lunghezza del vettore che offrono nuove funzioni in AVX-512 nei registri a 128 e 256 bit.

Sono disponibili più di 20 nuovi controlli delle Linee guida di base di C++ nell'analisi del codice C++. Questi controlli riguardano la correttezza del puntatore intelligente, l'uso corretto degli inizializzatori globali e il contrassegno degli usi dei costrutti come goto e bad_cast.

Alcuni numeri di avviso che potrebbero essere presenti in 15.3 non sono più disponibili in 15.5. Questi avvisi sono stati sostituiti con controlli più specifici.

Supporto predefinito per il framework Google Test e Boost.Test

Scrivere, individuare ed eseguire unit test di Google e Boost.Test in Visual Studio. Esplora test supporta ora i framework Google Test e Boost.Test per impostazione predefinita. Se si esegue l'aggiornamento da un'installazione precedente di Visual Studio, aprire il programma di installazione di Visual Studio, fare clic su "Modifica" nell'istanza di Visual Studio e selezionare le caselle "Test Adapter for Google Test" e "Adattatore di test per Boost.Test" in "Sviluppo di applicazioni desktop con C++". Creazione facilitata di un nuovo progetto di Google Test: selezionare File > Nuovo > Progetto > Visual C++ > Test > Google Test.

Per altre informazioni, vedere le pagine How to use Google Test for C++ in Visual Studio (Come usare Google Test per C++ in Visual Studio) e How to use Boost.Test for C++ in Visual Studio (Come usare Boost.Test per C++ in Visual Studio) in Microsoft Docs.

Strumenti Web di Visual Studio

  • La formattazione della sintassi Razor è stata migliorata.
  • È stata migliorata l'esperienza per la pubblicazione di applicazioni ASP.NET in macchine virtuali di Azure.

Strumenti per contenitori Docker

  • Gli strumenti di Visual Studio per i contenitori Docker supportano ora i Dockerfile in più fasi, per semplificare la creazione di immagini dei contenitori ottimizzate.
  • Se si esegue Visual Studio in un computer che esegue Windows 10 versione 1709 o Windows Server versione 1709, le immagini dei contenitori useranno Windows Server versione 1709 per impostazione predefinita. È possibile modificare questo comportamento modificando il Dockerfile. Si noti che le immagini dei contenitori che usano versioni precedenti di Windows potranno essere eseguite solo in Windows 10 versione 1709 e Windows Server versione 1709 in modalità di isolamento di Hyper-V. Per altri dettagli, vedere la pagina Compatibilità delle versioni dei contenitori di Windows.
  • Per impostazione predefinita, Visual Studio eseguirà automaticamente il pull, la compilazione e l'esecuzione delle immagini dei contenitori necessarie in background quando si apre un progetto con supporto di Docker. È possibile disabilitare questo comportamento tramite l'impostazione Avvia automaticamente i contenitori in background in Visual Studio.

Miglioramenti di TypeScript/JavaScript

Supporto di Angular 2

Gli sviluppatori che usano Angular2 possono ora visualizzare gli errori, i completamenti e la struttura del codice nei modelli inline e nei file modello con estensione ngml. Vedere il repository di esempio per una panoramica e istruzioni.

Miglioramenti delle prestazioni

È stata aggiunta la casella di controllo "Analizza solo i progetti che contengono file aperti nell'editor" nella pagina Opzioni/Progetto/Editor di testo/JavaScript o TypeScript. Questa opzione migliorerà le prestazioni e l'affidabilità in soluzioni di grandi dimensioni. Si noti che quando questa casella è selezionata sarà necessario eseguire una compilazione della soluzione per visualizzare un elenco completo degli errori di TypeScript in tutti i file.

È stato risolto un problema a causa del quale il servizio del linguaggio TypeScript/JavaScript usava più memoria del previsto e che poteva causare il caricamento della versione errata di TypeScript nelle soluzioni multiprogetto.

Strumenti di Windows Communication Foundation (WCF)

Il provider di servizi connessi WCF Web Service Reference (figura 5) fa ora parte di Visual Studio 15.5.

WCF Web Service Reference

(Figura 5) WCF Web Service Reference

Per usare questo strumento, fare clic sull'elemento di progetto Dipendenze nel progetto .NET Core e selezionare l'opzione Aggiungi servizio connesso, quindi immettere l'indirizzo del servizio Web per cui si vuole generare il codice. Il codice del proxy client WCF generato viene salvato in un file C# che viene aggiunto automaticamente al progetto. In questo modo il codice basato su .NET Core può comunicare facilmente con il servizio Web.

Per altri dettagli, vedere le note sulla versione in GitHub per WCF Web Service Reference.

Debug e diagnostica

Debug di app in produzione con il debugger di snapshot

È ora possibile usare punti di ancoraggio e punti di registrazione per eseguire il debug di applicazioni ASP.NET e ASP.NET Core in esecuzione in servizi app di Azure con un impatto minimo per l'app.

  • Impostare punti di ancoraggio (figura 6) per acquisire lo stato dell'app, inclusi variabili locali, espressioni di controllo e stack di chiamate. A differenza dei punti di interruzione, l'app non verrà arrestata quando si raggiunge un punto di ancoraggio.

Snappoints

(Figura 6) Punti di ancoraggio

  • Usare i punti di registrazione (figura 7) per registrare nuovi messaggi dall'app senza dover aggiungere codice o distribuire nuovamente l'applicazione.

Logpoint

(Figura 7) Punti di registrazione

Supporto di origine incorporata e PDB incorporato

Con il supporto dell'origine incorporata, il debugger di Visual Studio può ora estrarre e usare i file di origine per i file binari gestiti direttamente dal file PDB. È possibile combinare l'opzione per l'origine incorporata e il PDB incorporato per creare fine binari Debuggle completamente autonomi. Altre informazioni sull'uso dell'opzione del compilatore /embed.

Ora è anche possibile eseguire il debug con Modifica e continuazione per il codice gestito durante la compilazione con PDB incorporati.

Tornare indietro durante il debug con IntelliTrace

Con la nuova funzionalità di debug Torna indietro di IntelliTrace, IntelliTrace crea automaticamente uno snapshot dell'applicazione per ogni punto di interruzione e passaggio del debugger. In questo modo è possibile tornare indietro ai punti di interruzione o ai passaggi precedenti e visualizzare stati passati dell'applicazione.

Questa funzionalità è disponibile nell'Aggiornamento dell'anniversario di Windows 10 e versioni successive e attualmente supporta il debug di ASP.NET, Windows Form, WPF, app console gestite e librerie di classi gestite (Figura 8). Per abilitare questa funzionalità, passare a Strumenti > Opzioni > IntelliTrace e selezionare Eventi e snapshot IntelliTrace.

stepback

(Figura 8) Tornare indietro durante il debug con IntelliTrace

Accesso alle risorse di Azure da Visual Studio con l'accesso condizionale abilitato

Visual Studio supporta ora l'accesso alle risorse di Azure con l'accesso condizionale abilitato che richiede l'autenticazione 2FA, anche se l'account stesso non richiede 2FA. In precedenza, se l'account richiedeva 2FA per l'accesso, anche Visual Studio richiedeva l'autenticazione 2FA ed era quindi possibile accedere a qualsiasi risorsa con questo requisito, ma se l'account non richiedeva 2FA, Visual Studio non consentiva l'accesso alle risorse 2FA.

Ora, se l'account non richiede 2FA ma questa autenticazione è richiesta dalle risorse, è possibile autenticare l'account in Visual Studio senza 2FA e quando si tenta di accedere a una risorsa di Azure che richiede 2FA per la prima volta, Visual Studio richiede di eseguire di nuovo l'autenticazione e in questo caso richiede 2FA per abilitare l'accesso alla risorsa.

Supporto degli strumenti di Office per Office in Windows Store

I progetti per componenti aggiuntivi Web di Office e i progetti VSTO supportano ora lo sviluppo con Office in Windows Store. È possibile creare, compilare, eseguire il debug e pubblicare progetti di componenti aggiuntivi Web e progetti VSTO usando Office in Windows Store.

  • Per usare gli strumenti di Office con Office in Windows Store è richiesto Windows 10 Fall Creators Update (versione 1709) o Windows Server 2016.

Visual Studio Tools per Unity

  • I progetti Unity vengono ora ricaricati automaticamente in Visual Studio quando si aggiunge o rimuove uno script da Unity.
  • Correzione per la generazione di un progetto Player quando si lavora a un gioco UWP con il back-end IL2CPP/.NET 4.6.
  • È stato introdotta un'opzione che consente di usare il debugger Mono condiviso da Xamarin e Visual Studio per Mac per eseguire il debug dell'editor di Unity.

Live Unit Testing

  • Le compilazioni di Live Unit Testing sono ora out-of-process con conseguente miglioramento dell'utilizzo della memoria in Visual Studio.

Creazione di pacchetti Windows

È stato aggiunto il supporto nel progetto di creazione di pacchetti per includere le applicazioni e i componenti UWP che consentono di sfruttare i vantaggi delle funzionalità più recenti di Windows 10 dalle applicazioni desktop esistenti. Per includere un componente UWP, è possibile scegliere Add Reference per l'applicazione UWP (Figura 9).

stepback

(Figura 9) Progetto di creazione di pacchetti Windows con riferimento UWP

È possibile usare l'archiviazione guidata di pacchetti per generare i file necessari per inviare l'applicazione Desktop Bridge all'archivio, analogamente ai progetti UWP esistenti.


Blog

Developer Tools Blogs Consultare gli approfondimenti e i suggerimenti disponibili nei blog sugli strumenti di sviluppo.

I blog sugli strumenti di sviluppo consentono di mantenersi aggiornati su tutte le nuove versioni e includono post di approfondimento su una vasta gamma di funzionalità. Consultare il blog su .NET per informazioni dettagliate sull'ambiente .NET. È possibile trovare consigli tecnici di esperti nei blog dei team di ogni linguaggio, ad esempio C#, VB, C++ e F#.


Problemi noti

Visual Studio 2017 Known Issues Vedere tutti i problemi noti e le soluzioni alternative disponibili in Visual Studio 2017 versione 15.5.

Microsoft presta la massima attenzione ai commenti e suggerimenti degli utenti. Visitare il sito della community degli sviluppatori per conoscere i problemi più recenti, registrare nuovi problemi e votare a favore dei problemi esistenti.


Cronologia delle note sulla versione di Visual Studio 2017

Note sulla versione di Visual Studio 2017 Preview

The Developer Community Portal Vedere i problemi segnalati dai clienti e risolti in Visual Studio 2017 versione 15.5.

Note sulla versione di Visual Studio 2017 15.4

The Developer Community Portal Vedere i problemi segnalati dai clienti e risolti in Visual Studio 2017 versione 15.4.

Note sulla versione di Visual Studio 2017 15.3

The Developer Community Portal Vedere i problemi segnalati dai clienti e risolti in Visual Studio 2017 (versione 15.3).

Note sulla versione di Visual Studio 2017 (versione 15.2)

The Developer Community Portal Vedere i problemi segnalati dai clienti e risolti in Visual Studio 2017 (versione 15.2).

Note sulla versione di Visual Studio 2017 (versione 15.1)

The Developer Community Portal Vedere i problemi segnalati dai clienti e risolti in Visual Studio 2017 (versione 15.1).

Note sulla versione di Visual Studio 2017 (versione 15.0)

The Developer Community Portal Vedere i problemi segnalati dai clienti e risolti in Visual Studio 2017 (versione 15.0).


Inizio pagina