Note sulla versione di Visual Studio 2017 versione 15.5
Community degli sviluppatori | Requisiti di sistema | Compatibilità | Codice distribuibile | Condizioni di licenza | Blog | Problemi noti
Nota
Questa non è la versione più recente di Visual Studio. Per scaricare la versione più recente, visitare il sito di Visual Studio .
Intervallo di tempo del supporto
Questa versione non è più supportata. Per altre informazioni sul supporto di Visual Studio, vedere Criteri di supporto per Visual Studio 2017.
Fare riferimento alla versione più recente delle note sulla versione o visitare il sito di Visual Studio per scaricare la versione supportata più recente di Visual Studio 2017.
Blog di Visual Studio
Il blog di Visual Studio è la fonte ufficiale di informazioni dettagliate sul prodotto dal team Visual Studio Engineering. Nei post seguenti sono disponibili informazioni dettagliate sulle versioni di Visual Studio 15.5:
- Visual Studio 2017 versione 15.5 -- Leggere il post di blog più recente.
Rilasci di Visual Studio 2017 versione 15.5
- 20 febbraio 2018 - Visual Studio 2017 versione 15.5.7
- 29 gennaio 2018 - Visual Studio 2017 versione 15.5.6
- 25 gennaio 2018 - Visual Studio 2017 versione 15.5.5
- 16 gennaio 2018 - Visual Studio 2017 versione 15.5.4
- 9 gennaio 2018 - Visual Studio 2017 versione 15.5.3
- 14 dicembre 2017 - Visual Studio 2017 versione 15.5.2
- 7 dicembre 2017 - Visual Studio 2017 versione 15.5.1
- 4 dicembre 2017 - Visual Studio 2017 versione 15.5
Riepilogo delle nuove funzionalità di rilievo nella versione 15.5
- Maggiore affidabilità e possibilità di annullamento per il programma di installazione dell'IDE di Visual Studio.
- Aggiornamento della finestra di dialogo di errore per visualizzare altre informazioni utili per risolvere i problemi di installazione.
- Riduzione dei tempi di caricamento di progetti C# e Visual Basic di grandi dimensioni.
- È ora possibile utilizzare moduli secondari e alberi di lavoro GIT e configurare
fetch.prune
epull.rebase
in Team Explorer. - Per informazioni, vedere gli avvisi di sicurezza di .NET Core e ASP.NET Core.
- Il set di strumenti del compilatore MSVC è stato aggiornato alla versione 14.12.
- Il compilatore C# supporta ora il set di funzionalità del linguaggio 7.2.
- Aggiunta del supporto di progetti .NET Core SDK agli strumenti F# e modifica delle modalità di acquisizione di F#.
- Aggiunta di miglioramenti per Visual C++ alla libreria di modelli standard.
- Miglioramento della formattazione della sintassi Razor negli strumenti Web di Visual Studio.
- I contenitori Docker supportano ora Dockerfile in più fasi.
- È ora disponibile il supporto di Angular 2 per i file inline e i file modello con estensione ngml.
- È ora possibile aprire progetti esportati dal compilatore online ARM in Visual Studio.
- Apri cartella supporta ora attività remote per l'uso di qualsiasi sistema di compilazione remota o l'esecuzione di comandi arbitrari.
- Aggiunta del supporto di Origine incorporata durante il debug e del supporto di Modifica e continuazione per i PDB incorporati.
- Le informazioni di riferimento sul servizio Web WCF per .NET Core fanno ora parte di Visual Studio 15.5.
- È possibile eseguire il debug di applicazioni in produzione con il Debugger di snapshot.
- È ora supportata la funzionalità di debug Torna indietro di IntelliTrace.
- È possibile accedere alle risorse di Azure da Visual Studio con l'accesso condizionale abilitato.
- I progetti per componenti aggiuntivi Web di Office e i progetti VSTO supportano ora lo sviluppo con Office in Windows Store.
- Strumenti di Visual Studio per Xamarin include il supporto aggiornato per gli SDK di Xamarin per iOS e Android.
- I progetti Unity vengono ora ricaricati automaticamente in Visual Studio quando si aggiunge o rimuove uno script di Unity.
- Esplora test supporta ora il framework Google Test per impostazione predefinita.
- È ora possibile visualizzare il codice XAML in anteprima in tempo reale durante la digitazione nell'emulatore Android.
- Il progetto di creazione di pacchetti Windows consente ora di includere componenti della piattaforma UWP (Universal Windows Platform) come
BackgroundTasks
,AppServiceConnection
oFullTrustProcessLauncher
. - È ora possibile configurare il recapito continuo dal flusso di lavoro di pubblicazione del progetto per distribuire automaticamente il progetto in Azure a ogni modifica del codice nel repository.
Problemi principali risolti nella versione 15.5
Questi sono i problemi segnalati dai clienti risolti in questa versione:
- Salva tutto prova a salvare le schede di query con estensione sql chiuse.
- File bin\roslyn bloccati durante la compilazione.
- Sin da Visual Studio 2017 versione 15.3, i punti di interruzione non funzionano quando il set di caratteri del file non è uguale a quello nel file editorconfig (utf8 o utf8-bom).
- Il ripristino del pacchetto 'Microsoft.Net.4.6.FullRedist.NonThreshold,version=4.6.81.9' non riesce.
- Esiste un conflitto tra Visual Studio 2017 e OneDrive su richiesta (build Insider di Windows 10).
- Errore di accesso negato durante la creazione di chiavi del Registro di sistema in Windows 7.
- Alla chiusura del progetto viene aperta una pagina iniziale disabilitata.
- Icone mancanti dopo l'aggiornamento.
- Le prestazioni di Visual Studio 2017 risultano rallentate durante il debug di ASP.NET.
- La compilazione di Visual Studio 2017 è lenta.
- È possibile che si verifichi un blocco o un arresto anomalo di Visual Studio in caso di esecuzione in un computer abilitato alla scrittura con la penna.
Vedere tutti i problemi segnalati dai clienti e risolti in Visual Studio 2017 versione 15.5.
Dettagli delle novità nella versione 15.5
Visual Studio 2017 versione 15.5.0
Data di rilascio: 4 dicembre 2017
Nuove funzionalità nella versione 15.5
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).
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
- Il provider del servizio di archiviazione di Azure è stato aggiornato 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 usano ora 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 modificatoreref struct
. - Modificatore
readonly struct
: impone che tutti i membri di uno struct sianoreadonly
. 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 diref readonly
: consente il passaggio e la restituzione in sicurezza di struct non modificabili con la stessa efficienza dei valoriref
modificabili. - Modificatore di accesso
private protected
: limita l'accesso al punto di intersezione traprotected
einternal
. - 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.
Visual Studio Tools 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.
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 adatta ora 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 viene ora visualizzato nella finestra della console e gli errori vengono 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.
Modelli
File -> Nuovo progetto -> App per dispositivi mobili (figura 4) è stato semplice con gli aggiornamenti alla procedura guidata modello multipiattaforma per le app iOS, Android e Windows, tra cui:
- 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 Piattaforme di destinazione: selezionare le piattaforme desiderate in File -> Nuovo.
PackageReference
- Per impostazione predefinita, tutti i modelli ora usanoPackageReference
, 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.
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 usare il nuovo SDK Manager passando a 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, Essi includono:
- 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 ora 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 apportate all'installazione di F#
È stata modificata la modalità di acquisizione di F#:
- Se si installa un carico di lavoro che richiede .NET Core 2.0, viene installato anche il supporto del 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
attende 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 funzioninot_fn
da Library Fundamentals TS v2 in sostituzione dei negatori precedentinot1
enot2
.- Riformulazione
enable_shared_from_this
: P0033R1Re-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 perstd::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 modificheshared_ptr
da Library Fundamentals a C++17.- Correzione di
shared_ptr
per le matrici: P0497R0. Correzioni al supporto dishared_ptr
per le matrici. - Deprecazione di
shared_ptr::unique()
: P0521R0. Proposta di risoluzione per CA 14 (shared_ptr use_count/unique
). - Deprecazione
codecvt
: P0618R0,<codecvt>
non è il modo migliore per risolvere 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 annidatoinsert_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)
ecos(x)
asincos(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++". Creare facilmente un nuovo progetto 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.
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 viene arrestata quando si raggiunge un punto di ancoraggio.
- Usare i punti di registrazione (figura 7) per registrare nuovi messaggi dall'app senza dover aggiungere codice o distribuire nuovamente l'applicazione.
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.
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 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).
È 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.
Visual Studio 2017 versione 15.5.1
Data di rilascio: 7 dicembre 2017
Problemi principali risolti nella versione 15.5.1
Questi sono i problemi segnalati dai clienti risolti in questa versione:
- Errore
xamarin.forms
nel riferimento alla versione nel modello. - Il passaggio ad altri rami in Git interrompe IntelliSense.
- Vengono segnalati errori anche se non se ne verifica alcuno (progetti Visual Basic).
- Xamarin supporta ora Xcode 9.2:
- questo consente di risolvere i problemi segnalati dai clienti con gli storyboard e il simulatore remoto.
Visual Studio 2017 versione 15.5.2
Data di rilascio: 14 dicembre 2017
Problemi principali risolti nella versione 15.5.2
Questi sono i problemi segnalati dai clienti risolti in questa versione:
- Impossibile compilare il progetto Xamarin Android perché
R$anim.class
è in uso. - Impossibile caricare il pacchetto
MonoAndroidDesignerPackage
. - Cripto++ con ottimizzazioni predefinite causa una compilazione infinita quando si tenta di ottimizzare blake2.cpp.
- La migrazione da VS2017 15.4 a 15.5 causa l'errore CS026 per cui è impossibile trovare il nome del tipo o dello spazio dei nomi.
- L'installazione di Visual Studio 2017 Community 15.5 con
Option Strict On
crea errori di Intellisense nei progetti di Visual Basic. - Tempo di compilazione infinito quando si tenta di ottimizzare blake2.cpp.
- Arresto anomalo del motore casuale nell'utilità di ottimizzazione di Visual Studio 15.5.
- Eseguendo la migrazione a Visual Studio 15.5 (da 15.4) non è possibile compilare
mhook:disasm_x86.c
. - Unity + una nuova installazione di VS Community 15.5 impedisce il riconoscimento dello spazio dei nomi.
Visual Studio 2017 versione 15.5.3
Data di rilascio: 9 gennaio 2018
Riepilogo degli aggiornamenti nella versione 15.5.3
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.
Problemi principali risolti nella versione 15.5.3
Questi sono i problemi segnalati dai clienti risolti in questa versione:
- Error C3821 in
xlocale
in c++/clr (Errore in C3821 in xlocale in c++/clr). - Using header inside unmanaged code section of a managed C++/CLI project no longer builds (L'uso dell'intestazione nella sezione di codice non gestito di un progetto C++/CLI gestito causa la mancata compilazione).
- VS2017 with WDK 10 fails during remote provision KM (VS2017 con WDK 10 non viene eseguito correttamente durante il provisioning in remoto del modulo kernel)
- Visual studio tools per Unity non è riuscito a convertire i simboli di debug dopo l'aggiornamento a VS 15.5 (Visual Studio Tools per Unity non converte i simboli di debug dopo l'aggiornamento a VS 15.5)
- Altre informazioni sugli avvisi di sicurezza Microsoft per .NET Core.
Visual Studio 2017 versione 15.5.4
Data di rilascio: 16 gennaio 2018
Problemi principali risolti nella versione 15.5.4
Questi sono i problemi segnalati dai clienti risolti in questa versione:
- Il debugger non può continuare a eseguire il processo. Operazione non supportata. Errore sconosciuto: 0x9233000b.
- Progetti e soluzioni recenti non popolati dopo essere stati eseguiti.
- Compilazione completa ogni volta con 15.5.
- Gli errori di IntelliSense errati continuano a essere visualizzati in Visual Studio 15.5.2 per i progetti Visual Basic.
- Riferimenti non risolti di VS2017 15.5.2 quando è abilitata l'opzione "Consenti inizializzazione parallela dei progetti".
- Aggiornamento in corso a 15.5.2: impossibile avviare o riparare Visual Studio.
- Problema di installazione di VS2017.
- Impossibile eseguire l'installazione a causa di BSoD.
Visual Studio 2017 versione 15.5.5
Data di rilascio: 25 gennaio 2018
Riepilogo degli aggiornamenti nella versione 15.5.5
- Il compilatore MSVC è stato aggiornato per supportare l'opzione /Qspectre che inserisce automaticamente una barriera al rilevamento di istanze di Spectre variante 1. Per altre informazioni su /Qspectre fare riferimento al blog del team di Visual C++.
Problemi principali risolti nella versione 15.5.5
Questi sono i problemi segnalati dai clienti risolti in questa versione:
- L'app Xamarin genera un
Cannot access a disposed object. Object name: 'MobileAuthenticatedStream'
errore. - L'app Xamarin.Android viene generata
ClassNotFoundException
durante la derivazione dallaApplication
classe . - È possibile che per eseguire l'aggiornamento sia necessario disinstallare gli SDK Windows e Android precedentemente installati.
- Aggiornare JDK 8 alla versione più recente per evitare errori di download dal sito Web Oracle.
Visual Studio 2017 versione 15.5.6
Data di rilascio: 29 gennaio 2018
Riepilogo degli aggiornamenti nella versione 15.5.6
Visual Studio 2017 versione 15.5.7
Data di rilascio: 20 febbraio 2018
Riepilogo degli aggiornamenti nella versione 15.5.7
- Team Explorer supporta TLSv1.2. Sono state aggiornati Git e i componenti di Git Credential Manager forniti in Visual Studio. Anche il componente facoltativo di Git per Windows è stato aggiornato. Questo aggiornamento consente a Git di connettersi ai servizi con supporto deprecato per TLSv1 e TLSv1.1 a favore di TLSv1.2.
Problemi principali risolti nella versione 15.5.7
Questi sono i problemi segnalati dai clienti risolti in questa versione:
- I progetti destinati a .NET Core 2.1 o versioni successive non sono supportati da Visual Studio 2017 versione 15.5.
- Risolto il problema a causa del quale dopo l'installazione di SDK per .NET Core 2.1 o versioni successive scompare l'opzione per creare applicazioni Web ASP.NET Core 2.0.
Problemi noti
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.
Vedere tutti i problemi noti esistenti e le soluzioni alternative disponibili in Visual Studio 2017 versione 15.5.
Commenti e suggerimenti
I commenti degli utenti sono molto apprezzati. È possibile segnalare un problema tramite l'opzione Segnala un problema disponibile nell'angolo superiore destro del programma di installazione o dell'IDE di Visual Studio. L'icona si trova nell'angolo superiore destro. È possibile inviare un suggerimento sul prodotto o monitorare lo stato dei problemi nella community degli sviluppatori di Visual Studio, dove è possibile porre domande, trovare risposte e proporre nuove funzionalità. È anche possibile usufruire gratuitamente del supporto per l'installazione con Assistenza live chat.
Blog
Sfruttare i vantaggi delle informazioni dettagliate e delle raccomandazioni disponibili nel sito dei blog sugli strumenti di sviluppo per mantenersi aggiornati su tutte le nuove versioni con post di approfondimento su una vasta gamma di funzionalità.
Cronologia delle note sulla versione di Visual Studio 2017
Per altre informazioni relative a versioni precedenti di Visual Studio 2017, vedere la pagina Cronologia delle note sulla versione di Visual Studio 2017.