Visual Studio 2017

Last Update: 07/04/2017

Per visualizzare gli aggiornamenti più recenti, visitare la pagina delle note sulla versione in lingua inglese.

Microsoft è lieta di annunciare il rilascio di Visual Studio 2017. Questa versione introduce un'esperienza di installazione innovativa, agile e modulare, personalizzabile in base alle specifiche esigenze.

Visual Studio 2017 è perfetto per lo sviluppo di app per Android, iOS, Windows, Web e cloud. Consente la rapida scrittura del codice, assicura facilità di debug e diagnosi e permette l'esecuzione frequente di test per il rilascio di app affidabili. È inoltre possibile rendere Visual Studio un ambiente "su misura" grazie alla possibilità di creare estensioni personalizzate. Questa nuova versione offre eccezionali vantaggi, inclusi controllo della versione, strumenti e processi Agile ed efficienti funzionalità di collaborazione.

Download: Visual Studio Enterprise 2017

Per altre informazioni sui download correlati, vedere la pagina Download di Visual Studio. Vedere anche Requisiti di sistema di Visual Studio 2017 e Selezione della piattaforma e compatibilità di Visual Studio 2017.

Commenti e suggerimenti

Le opinioni dei nostri clienti sono molto importanti per noi. Per i problemi è possibile usare l'opzione Segnala un problema nell'angolo in alto a destra, sia dal programma di installazione che dall'IDE di Visual Studio. È possibile tenere traccia dei commenti e suggerimenti inviati nel portale della community degli sviluppatori. Per eventuali suggerimenti, usare UserVoice.

Cronologia dei rilasci

Problemi noti

Vedere la sezione Problemi noti.


Data di uscita: 5 aprile 2017 - versione 15.1 (26403.00)

Riepilogo degli aggiornamenti in questa versione


Novità di questa versione

Visitare il portale della community degli sviluppatori per vedere tutti i problemi risolti in Visual Studio 2017 (versione 15.1).

Nuova installazione autonoma di Team Explorer

Visual Studio Team Explorer 2017 è un client autonomo avanzato per l'accesso a Team Foundation Server e Visual Studio Team Services ed è gratuito per tutti gli utenti. Poiché questa installazione include solo Team Explorer è possibile accedere al controllo della versione e alla gestione degli elementi di lavoro senza altri componenti IDE.

team explorer

Strumenti per lo sviluppo di app di Windows universale

Il carico di lavoro delle app di Windows universale include Creators Update SDK (10.0.15063) che consente di compilare app per Windows 10 Creators Update (versione 1703). La versione include anche i miglioramenti seguenti:

  • A partire da Creators Update SDK, l'installazione di Windows 10 SDK è affiancata e consente di usare un singolo computer per compilare app pronte per la produzione destinate alla versione rilasciata dell'SDK e di iniziare il test delle nuove funzionalità del sistema operativo offerte da un'anteprima di Windows SDK.
  • La gestione del pacchetto NuGet è stata migliorata tramite l'uso di PackageReference in sostituzione di package.config e package.json.
  • Un compilatore .NET Native avanzato è ora distribuito come pacchetto NuGet.
  • Visual Studio include un supporto per strumenti migliorato per i controlli XAML distribuiti come pacchetti NuGet.
  • IntelliSense nell'editor XAML evidenzia ora i tipi e le proprietà XAML non supportati nella versione dell'SDK cui è destinata l'app.

Per altre informazioni, vedere Creators Update SDK support in Visual Studio 2017 (Supporto di Creators Update SDK in Visual Studio 2017).


Data di uscita: 31 marzo 2017 - versione 15.0 (26228.12)

Novità di questa versione

  • Gli strumenti e le API Xcode 8.3, iOS 10.3, watchOS 3.2 e tvOS 10.2 sono ora supportati nell'estensione Xamarin.VS per Visual Studio 2017.

Data di uscita: 28 marzo 2017 - versione 15.0 (26228.10)

Problemi corretti in questa versione

Questi sono i problemi segnalati dai clienti risolti nella build 26228.10:


Data di uscita: 14 marzo 2017 - versione 15.0 (26228.09)

Problemi corretti in questa versione

Questi sono i problemi segnalati dai clienti risolti nella build 26228.09:


Data di uscita: 7 marzo 2017 - versione 15.0 (26228.04)

Sviluppo: rapidità di esplorazione, scrittura e correzione del codice

  • Nuova esperienza di installazione: è stato ridotto il footprint minimo per un'installazione più rapida e personalizzabile ed è stato aggiunto il supporto per le installazioni offline.
  • IDE di Visual Studio: in Visual Studio 2017 è stata apportata una vasta gamma di miglioramenti, inclusi la riduzione dei tempi di avvio e caricamento delle soluzioni, la maggiore facilità di accesso e controllo dell'identità, la rapida esplorazione del codice, una più semplice apertura della visualizzazione cartelle e servizi connessi che consentono il collegamento tra le app e qualsiasi servizio locale o nel cloud.
  • Visual C++: nella versione 2017 non sono state apportate modifiche importanti rispetto alla versione 2015. Sono stati introdotti miglioramenti a livello di conformità C++14, supporto per CMake, velocità di compilazione e produttività nell'editor.
  • C# e Visual Basic: è stato esteso il supporto per nuove funzionalità dei linguaggi C# 7.0 e Visual Basic 15 e sono stati introdotti nuovi refactoring che consentono di organizzare il codice sorgente con una semplice operazione.
  • F#: sono stati aggiunti supporto per le funzionalità per il linguaggio F# 4.1, miglioramenti al compilatore F# e FSharp.Core e un nuovo editor basato sulle aree di lavoro Roslyn.
  • JavaScript e TypeScript: TypeScript 2.1 è disponibile per tutti i progetti TypeScript in Visual Studio. Un nuovo servizio di linguaggio JavaScript è disponibile e abilitato per impostazione predefinita.

Debug: facilità di debug, profilatura e diagnosi del codice

  • Debug e diagnostica: è stato migliorato il supporto eccezioni e la navigazione nel codice è stata resa più rapida con Esegui fino alla riga selezionata. È stato anche aggiunto un nuovo riepilogo degli eventi dell'applicazione nella finestra Strumenti di diagnostica e sono stati apportati diversi miglioramenti allo strumento Utilizzo CPU.

Test: scrittura di codice di alta qualità con strumenti di test completi

  • Live Unit Testing: è possibile visualizzare in tempo reale nell'editor i risultati del testing unità e la copertura del codice.
  • Strumenti di test: è possibile associare l'automazione a elementi di lavoro del test case tramite Esplora test.

Collaborazione: controllo della versione, strumenti e processi Agile ed efficienti funzionalità di collaborazione

Estensione: possibilità di creare estensioni personalizzate

Dotazione: usare gli strumenti per aumentare la produttività ed esplorare nuove funzionalità

  • .NET Core e ASP.NET Core: è disponibile la versione finale 1.0 dei nuovi strumenti per Microsoft .NET Core basati su MSBuild. Con Visual Studio 2017 è possibile creare librerie .NET Standard, librerie e app .NET Core e progetti Web ASP.NET che usano il nuovo formato csproj.
  • Strumenti per lo sviluppo di app di Windows universali: gli aggiornamenti includono una nuova versione della toolchain .NET Native, il framework NuGet di .NET Core, nuovi strumenti di produttività e il supporto per Windows 10 "Creators Update" SDK.
  • Xamarin: Xamarin 4.3 aggiunge il supporto per tvOS e migliora il supporto per il catalogo asset di iOS e l'esperienza di modifica XML.
  • Strumenti di Visual Studio per Apache Cordova: è stato aggiunto un nuovo simulatore basato su browser che consente di creare velocemente il codice e visualizzare i risultati immediatamente.
  • Node.js Tools per Visual Studio: gli aggiornamenti sono incentrati sulla stabilità, sulle prestazioni e sulla qualità complessiva del prodotto.
  • Visual Studio Tools per Unity: Visual Studio Tools per Unity 3 è ora disponibile con il carico di lavoro "Sviluppo di giochi con Unity" nel nuovo programma di installazione di Visual Studio.
  • Redgate Data Tools: per estendere le funzionalità DevOps all'ambiente di sviluppo di database SQL, Visual Studio include ora Redgate Data Tools, inclusi Redgate ReadyRoll Core, SQL Search e SQL Prompt Core.
  • NuGet: NuGet supporta ora l'archiviazione di informazioni sulle dipendenze dei pacchetti direttamente nei file di progetto come riferimenti ai pacchetti, mantenendo i progressi raggiunti con i riferimenti transitivi ai pacchetti.
  • Strumenti per le app XAML: la barra degli strumenti di runtime di XAML ora consente di tenere traccia dello stato attivo. La produttività XAML è stata migliorata con Modifica e continuazione per XAML, i miglioramenti apportati all'editor XAML e l'ottimizzazione delle prestazioni.
  • Data Tools e SQL Server: l'aggiornamento più recente di SQL Server Data Tools abilita il supporto per le funzionalità più recenti del database SQL di Azure e di SQL Server 2016.
  • Developer Analytics Tools: Visual Studio 2017 include Developer Analytics Tools versione 8.6, con numerosi miglioramenti alle funzionalità Application Insights e HockeyApp di Visual Studio.
  • Office Developer Tools per Visual Studio: è stato incluso Office Developer Tools con le funzionalità e gli aggiornamenti più recenti.
  • Convalida delle dipendenze architetturali in tempo reale: sono state aggiunte notifiche in tempo reale relative ai diagrammi di convalida delle dipendenze (noti anche come diagrammi livello).
  • Prompt dei comandi per gli sviluppatori: gli script sono stati sottoposti a refactoring, in modo da supportare la nuova esperienza di installazione.
  • Azure SDK per .NET: è ora disponibile nel nuovo programma di installazione di Visual Studio.

Novità di Visual Studio 2017

Visitare il portale della community degli sviluppatori per vedere tutti i problemi risolti in Visual Studio 2017 (versione 15.0).

Esperienza di installazione

Siamo lieti di presentare il nuovo programma di installazione completamente riprogettato:

  • Riduzione del footprint minimo di Visual Studio
  • Installazione più veloce, con minore impatto sul sistema e possibilità di disinstallazione completa.
  • Selezione e installazione semplificate delle sole funzionalità necessarie

Quando si installa Visual Studio 2017 per la prima volta, la nuova esperienza sarà immediatamente visibile:

The new installation experience in Visual Studio 2017

L'installazione minima ha una dimensione di poche centinaia di megabyte, ma contiene comunque il supporto per le modifiche di base del codice per più di venti linguaggi, incluse funzionalità di controllo del codice sorgente. La maggior parte degli utenti preferisce installare più componenti, è pertanto possibile aggiungere uno o più "carichi di lavoro" che rappresentano i framework, i linguaggi e le piattaforme più comuni, in grado di supportare qualsiasi attività, dallo sviluppo desktop .NET allo sviluppo di giochi con Unity.

Come aggiornare Visual Studio

Per aggiornare Visual Studio, eseguire il programma di installazione di Visual Studio e fare clic sul pulsante "Aggiorna".

Commenti e suggerimenti sul nuovo programma di installazione

È possibile segnalare problemi o inviare commenti di apprezzamento tramite i comandi Segnala un problema e Invia un suggerimento del nuovo client di installazione nell'angolo superiore destro della barra del titolo. Segnalare eventuali errori durante l'installazione, la disinstallazione o la modifica dell'installazione, nonché tempi di installazione anomali, ad esempio eventuali blocchi, oppure messaggi di errore imprevisti.

Creazione di un layout per l'installazione offline e nuovo supporto per l'installazione dalla riga di comando

Gli amministratori di sistema e altri utenti possono ora creare un layout offline di Visual Studio che include tutto il contenuto necessario per installare il prodotto senza richiedere l'accesso a Internet. Questo layout può essere il prodotto completo, un sottoinsieme di carichi di lavoro e/o componenti e una o più impostazioni locali del prodotto. Si noti che per creare un layout offline è necessario l'accesso a internet. Per altre informazioni, vedere Create an offline installation of Visual Studio 2017 (Creare un'installazione offline di Visual Studio 2017).

Nome alternativo per l'installazione

Visual Studio Enterprise e Community (tra gli altri prodotti) può essere installato side-by-side nello stesso computer. Per semplificare l'identificazione di queste installazioni, è possibile specificare un nome breve o "nome alternativo". Ad esempio, se si intende installare Visual Studio Enterprise e successivamente Community, entrambi verranno visualizzati nel menu Start. È possibile assegnare al secondo un nome alternativo, ad esempio "community", e le voci del menu Start verranno visualizzate con nomi quali "Visual Studio 2017 (community)" e "Prompt dei comandi per gli sviluppatori per Visual Studio 2017 (community)".


IDE di Visual Studio

Miglioramenti all'IDE

  • Visual Studio è stato ottimizzato per ridurre il tempo di avvio e il tempo di caricamento della soluzione. La velocità del primo avvio di Visual Studio è stata migliorata almeno del 50%.
  • Visual Studio monitorerà le prestazioni delle estensioni che incidono sull'avvio, sul caricamento della soluzione o sulla modifica. Si riceveranno avvisi in caso di prestazioni scadenti delle estensioni tramite la barra di notifica nell'IDE. Il nuovo centro di prestazioni (disponibile anche tramite ? > Gestisci prestazioni di Visual Studio) consente di visualizzare non solo le estensioni che incidono sulle prestazioni, ma anche di individuare le finestre degli strumenti con effetti sulle prestazioni di avvio e di modificarne il comportamento di caricamento in fase di avvio.
  • Nel nuovo programma di installazione di Visual Studio è possibile selezionare l'estensione GitHub per Visual Studio.
  • La funzionalità Reload All Projects (Ricarica tutti i progetti) è stata sostituita da Reload Solution (Ricarica soluzione), in modo da offrire migliori prestazioni durante il passaggio a rami esterni a Visual Studio. Quando si usa la riga di comando Git per cambiare rami, scegliere Reload Solution (Ricarica soluzione) dopo aver cambiato ramo per ottenere il miglioramento massimo delle prestazioni.
  • Le funzionalità di glob dei file per i progetti .NET Core e ASP.NET Core sono state migliorate. Per approfondimenti, vedere le informazioni sul glob dei file di progetto.
  • Ora si passa automaticamente alla visualizzazione cartelle del repository dopo la clonazione. È possibile visualizzare i file o aprire le soluzioni con il nuovo elenco di selezione della soluzione in Esplora soluzioni.
  • È stato introdotto un nuovo host di servizio esterno che sostituirà VSHub. Questo nuovo host di servizio è un processo esterno e verrà visualizzato in Gestione attività come ServiceHub.Host.CLR.*.exe, oltre a ServiceHub.Host.Node.x86.exe. Questo host eliminerà infine il traffico HTTP localhost introdotto con VSHub che allevierà il rumore segnalato dagli utenti di Fiddler.
  • I messaggi di scadenza della licenza per la versione preliminare indicano in modo più chiaro lo stato corrente della licenza stessa.
  • La finestra di dialogo Impostazioni account risulta ora più accessibile alle utilità di lettura dello schermo.
  • È ora possibile usare la Guida offline installando il componente Help Viewer del programma di installazione di Visual Studio.
  • È ora possibile aggiungere e rimuovere più lingue dell'interfaccia utente in qualsiasi momento usando il programma di installazione di Visual Studio nella scheda Language Pack. È possibile selezionare la lingua dell'interfaccia utente corrente tra quelle installate usando Strumenti > Opzioni > Impostazioni internazionali.
  • La barra di stato di controllo della versione semplifica la pubblicazione di repository locali in un host SCC nonché il monitoraggio di transazioni non sottoposte a commit e senza push.

Version Control - Unpublished commits example

Version Control - No pending changes example

Miglioramenti relativi all'accesso e all'identità

È stato introdotto un nuovo servizio di identità che permette di condividere gli account utente nei diversi strumenti di sviluppo Microsoft. All'interno di Visual Studio questa condivisione include funzionalità come Team Explorer, gli strumenti di Azure, la pubblicazione su Windows Store e così via. Queste funzionalità condividono ora un'esperienza di accesso comune e coerente.

Oltre ai miglioramenti apportati a Visual Studio, è stata completata la distribuzione di alcuni miglioramenti sul lato del servizio che consentono agli utenti di restare connessi in modo sicuro, evitando l'accesso forzato ogni 12 ore. Questo risolve il problema segnalato più di frequente relativamente all'accesso. Altre informazioni sulla riduzione dei prompt in Visual Studio.

Pagina iniziale

È ora disponibile una pagina iniziale rinnovata con nuove funzionalità per l'apertura e la creazione:

  • È possibile acquisire repository remoti da VSTS o usare l'elenco dei file usati di recente (MRU), ora più visibile, per aprire con facilità soluzioni e progetti locali.
  • L'elenco degli ultimi elementi usati nella pagina iniziale mostra i repository clonati negli altri computer. In questo modo, è possibile clonarli facilmente nel computer corrente.
  • È possibile creare un nuovo progetto direttamente dalla pagina iniziale con i modelli disponibili per la ricerca e un elenco di modelli usati di recente. I modelli usati di recente saranno anche disponibili in istanze diverse di Visual Studio con un account di personalizzazione.
  • È possibile avviare rapidamente la nuova esperienza per la clonazione da VSTS tramite l'opzione "Estrai da VSTS" nella pagina iniziale.
  • La sezione "Attività iniziali" può essere chiusa facilmente.
  • La sezione Novità è comprimibile:
    • Notifica aggiornata per i nuovi elementi aggiunti al newsfeed.
    • Notifica nell'espansore del newsfeed se compaiono nuovi elementi quando il newsfeed è compresso.
  • Progettazione visiva rivista in risposta alle segnalazioni degli utenti in merito agli elementi troncati sugli schermi più piccoli e all'utilizzo dello spazio vuoto.

La nuova pagina iniziale è illustrata di seguito.

Start Page with Get Started and News

Esplorazione del codice migliorata

Le funzionalità di esplorazione del codice sono state migliorate significativamente in Visual Studio 2017:

  • Vai a tutti: (CTRL+ oppure CTRL+T) consente di trovare e passare rapidamente a file, tipi, metodi e altri elementi nel codice. Permette di individuare elementi di qualsiasi tipo, anche nelle codebase di grandi dimensioni. Inoltre, se si conosce il tipo di elemento cercato, è possibile applicare facilmente un filtro. In C#, Visual Basic e F# è stata aggiunta una corrispondenza "fuzzy", in modo che sia possibile ottenere il risultato anche se un nome di tipo non è stato digitato correttamente. L'esperienza Vai alla riga (Ctrl + G) è stata modernizzata. È possibile passare alla famiglia di comandi Vai a nella parte superiore del menu Modifica.

Go To Results Filtered

Go To Line

  • La funzionalità Trova tutti i riferimenti (MAIUSC+F12) è stata migliorata (attualmente per C#, Visual Basic, F# e C++) con l'aggiunta di funzionalità avanzate di raggruppamento, filtro, ordinamento, ricerca nei risultati e colorazione dei risultati (per C# e VB), in modo che sia possibile comprendere chiaramente i riferimenti e passare con sicurezza alla riga di codice necessaria. Al passaggio del mouse su un elemento di riferimento viene visualizzata una descrizione con il contesto del riferimento nel codice sorgente (per C# e VB). Attivando e disattivando il pulsante Mantieni risultati sulla barra degli strumenti, la successiva chiamata di Trova tutti i riferimenti inserirà i risultati dei riferimenti in una nuova finestra. Ciò consente di mantenere i risultati correnti nella finestra esistente.

Find All References

  • Linee guida di struttura vengono ora disegnate nell'editor in modo che sia possibile visualizzare con facilità la struttura del codice a cui si lavora. Al passaggio del mouse viene visualizzata una descrizione che contiene il contesto del blocco di codice corrente relativo ai suoi blocchi predecessore. Le linee guida di struttura sono attualmente supportate per i file C#, Visual Basic, F# e XAML e per qualsiasi file supportato tramite le grammatiche TextMate. Questa funzionalità può essere disabilitata nella finestra di dialogo Strumenti > Opzioni deselezionando la casella di controllo Mostra guide per strutture della categoria Editor di testo > Generale.

Structure Guide Lines

Supporto della convenzione di scrittura del codice tramite EditorConfig

L'editor di Visual Studio supporta ora EditorConfig, che consente agli sviluppatori di definire e mantenere convenzioni coerenti per lo stile di codifica tra diversi editor e IDE. Per altri dettagli, vedere la documentazione. Per informazioni su come usare i file .editorconfig per controllare lo stile di codifica .NET, vedere la documentazione di .NET. Per le limitazioni relative al supporto di EditorConfig per questa versione, vedere la sezione Problemi noti.

Apri cartella

Apri cartella offre un modo semplice per usare le codebase senza progetti e soluzioni. Aprire Visualizzazione cartelle da File > Apri > Cartella e quindi selezionare una cartella da esplorare.

The new Open Folder feature in the Visual Studio IDE

È possibile aprire e modificare i file in Esplora soluzioni. Molti linguaggi diffusi presentano l'evidenziazione della sintassi e il supporto per la navigazione basata su simboli (GoTo). Alcuni linguaggi sono inoltre dotati di supporto avanzato di IntelliSense e del debug direttamente dalla cartella:

  • C++ (CMake)
  • Node.js - JavaScript/TypeScript
  • C# e VB

È possibile compilare o eseguire il debug con F5 e il menu di scelta rapida del file in Esplora soluzioni. Per risultati ottimali assicurarsi di installare il carico di lavoro per le lingue con cui si lavora.

La visualizzazione cartelle supporta anche le funzioni seguenti:

  • Eseguire ricerche nel codice contenuto nella cartella con GoTo (Ctrl +,).
  • Definire l'ambito per la visualizzazione delle cartelle di Esplora soluzioni sulle sottocartelle.
  • Aprire le cartelle in Esplora risorse o il prompt dei comandi da Esplora soluzioni.
  • Passare rapidamente da una soluzione a un'altra nella cartella o nel repository aperto con l'elenco a discesa per la selezione della soluzione.
  • Configurare le impostazioni di debug e avvio con launch.vs.json. Fare clic con il pulsante destro del mouse su un file di cui è possibile eseguire il debug e selezionare Impostazioni per debug e avvio.
  • Configurare le attività e personalizzare la compilazione con tasks.vs.json. Fare clic con il pulsante destro del mouse su qualsiasi file e selezionare Configure Task Settings (Configura impostazioni attività).
  • Launch.vs.json e tasks.vs.json hanno IntelliSense nell'editor JSON.

Le prestazioni di apertura delle cartelle e di passaggio tra la visualizzazione cartelle e la visualizzazione soluzione sono state migliorate in misura significativa.

Caricamento leggero soluzioni

La funzionalità Caricamento leggero soluzioni consente un caricamento più veloce delle soluzioni di grandi dimensioni e può consentire un miglioramento sostanziale nel tempo di caricamento della soluzione e nell'uso della memoria. La funzionalità non è abilitata per impostazione predefinita e può essere attivata nell'IDE per la singola soluzione o globalmente. Per abilitare la funzionalità a livello globale, passare a Strumenti > Opzioni selezionando Generale in Progetti e soluzioni o eseguendo una ricerca di "Caricamento leggero soluzioni" con Avvio veloce. La funzionalità può essere attivata e disattivata per la singola soluzione nel riquadro delle proprietà della soluzione.

The new Lightweight Solution load feature in the Visual Studio IDE

La funzionalità Caricamento leggero soluzioni è ideale per le soluzioni di grandi dimensioni che contengono progetti C# o una combinazione di progetti C# e C++. Quando si lavora con soluzioni di grandi dimensioni può essere richiesto di abilitare la funzionalità. Altre informazioni su questa funzionalità sono disponibili nel blog di Visual Studio.

Sono state notevolmente migliorate le prestazioni delle build complete della soluzione, ora conformi al carico convenzionale della soluzione.

Supporto per la colorazione e il completamento automatico della sintassi, i frammenti di codice e la ricerca tramite Passa a per un set più ampio di linguaggi

Oltre al supporto aggiunto negli aggiornamenti di Visual Studio 2015, in Visual Studio 2017 è stato incluso il supporto per la colorazione e il completamento automatico della sintassi per una più ampia gamma di linguaggi. Inoltre, alcuni di questi linguaggi supportano anche lo spostamento tramite "Passa a (CTRL+)" e/o Frammenti di codice.

I file relativi ai linguaggi elencati di seguito supportano queste funzionalità nel nuovo Editor principale di Visual Studio, anche quando non sono stati installati carichi di lavoro per supportare in modo esplicito il linguaggio in questione. Se è installato un carico di lavoro che offre il supporto per un linguaggio (ad esempio, per lo sviluppo di applicazioni desktop .NET, per lo sviluppo di applicazioni per Windows Desktop con C++ e così via), possono essere disponibili funzionalità più estese per tale linguaggio, incluse la tecnologia IntelliSense e altre funzionalità avanzate come la visualizzazione di lampadine nel codice.

Tipi di file di linguaggio elencati in base al livello di supporto:

  • Supporto solo per la colorazione e il completamento automatico della sintassi:
    • Bat, Clojure, CoffeeScript, CSS, Docker, F#, Groovy, INI, Jade, Javadoc, JSON, LESS, LUA, Make, Markdown ++, Objective-C, Perl, PowerShell, Python, Rust, ShaderLab, SQL, Visual Basic .NET, YAML.
  • Supporto per Frammenti di codice (oltre alla colorazione e al completamento automatico della sintassi):
    • CMake, C++, C#, Go, Groovy, HTML, Java, Javadoc, JavaScript, Lua, Perl, PHP, R, Ruby, Shellscript, Swift, XML.
  • Supporto per Passa a (oltre alla colorazione e al completamento automatico della sintassi):
    • C++, C#, Go, Java, JavaScript, PHP, TypeScript, Visual Basic.

Introduzione alle pagine di panoramica del progetto

È stata introdotta un'esperienza iniziale completamente rinnovata per i progetti creati di recente. Sono state sostituite le pagine iniziali correnti con una scheda Panoramica in Progettazione configurazione applicazione e le pagine sono state incentrate sulle azioni che sarà possibile eseguire a breve. Queste novità sono state abilitate in progetti ASP.NET 4.x, ASP.NET Core e Cordova.

Project Overview

Connessione ai servizi mediante Servizi connessi

In una versione precedente, questa funzionalità è stata denominata Funzionalità del servizio. Il nome è stato modificato in Servizi connessi.

Servizi connessi è la versione moderna della funzionalità "Aggiungi servizio connesso" o "Aggiungi riferimento al servizio" di Visual Studio 2017. La funzionalità Servizi connessi semplifica la connessione dell'app ai servizi. Un nuovo nodo denominato "Servizi connessi" è disponibile in Esplora soluzioni per i tipi di progetto Web e per dispositivi mobili. Facendo doppio clic sul nodo verrà aperta in Visual Studio una nuova scheda a piena pagina in cui è possibile individuare noti servizi Microsoft a cui connettersi.

Selezionando un servizio nella pagina Servizi connessi viene chiamata la procedura guidata Aggiungi servizi connessi che consente di configurare il progetto e scaricare i pacchetti NuGet necessari per iniziare a scrivere il codice per il servizio in modo rapido e senza problemi.

Connected Services

Acquisizione all'interno del prodotto di strumenti e funzionalità

Visual Studio 2017 consente di acquisire carichi di lavoro e componenti aggiuntivi senza uscire dall'IDE. Sfruttare i vantaggi offerti da Avvio veloce per trovare e avviare il Programma di installazione di Visual Studio per ogni componente del carico di lavoro o di un utente singolo.

In-product acquisition via Quick Lauch

Se non è possibile trovare i modelli che si stanno cercando, il programma di installazione di Visual Studio può essere aperto anche all'interno della finestra di dialogo Nuovo progetto.

In-product acquisition via New Project Dialog


Visual C++

In Visual Studio 2017 sono stati inclusi numerosi aggiornamenti e correzioni per l'ambiente Visual C++. Microsoft ringrazia i clienti per le segnalazioni inviate. Sono stati corretti più di 250 bug e problemi nel compilatore e negli strumenti, molti dei quali sono stati segnalati dai clienti attraverso Microsoft Connect. In questa versione sono state migliorate le prestazioni di STL. Il nuovo motore di database basato su SQLite viene ora usato per impostazione predefinita. Questo consente di velocizzare le operazioni di database come Vai a definizione e Trova tutti i riferimenti e migliorerà significativamente il tempo di analisi iniziale. È ora disponibile un'esperienza più granulare per l'installazione del carico di lavoro per C++ originario. Sono stati aggiunti componenti selezionabili che consentono di installare solo gli strumenti necessari. Il supporto per CMake in Visual Studio è ora disponibile. Caricare i progetti CMake direttamente in Visual Studio e iniziare subito a scrivere codice. L'esperienza "Apri cartella" in C++ è stata migliorata ed è ora possibile portare il codice sorgente in Visual Studio senza la necessità di creare progetti e soluzioni di Visual Studio. Passa a è stato sostituito da Vai a che include nuovi filtri di navigazione. In questo modo è più semplice individuare i risultati corretti, in particolare in basi di codici di grandi dimensioni.

Analisi del codice C++

I controlli di base per C++ per l'applicazione delle C++ Core Guidelines (Linee guida di base per C++) ora sono distribuiti con Visual Studio. È sufficiente abilitare i controlli nella finestra di dialogo delle estensioni di analisi del codice nelle pagine di proprietà del progetto per includere le estensioni durante l'esecuzione dell'analisi del codice.

CppCoreCheck properties page

Compilatore C++

Sono inclusi aggiornamenti al compilatore C++ e alla libreria standard, con supporto avanzato per funzionalità di C++11 e C++14, oltre al supporto preliminare per determinate funzionalità che si prevede verranno incluse nello standard C++17. Con il supporto per la parola chiave constexpr generalizzata e NSDMI per le aggregazioni, il compilatore è stato completato per le funzionalità aggiunte nello Standard C++14. Si noti che il compilatore manca ancora di alcune funzionalità relative agli standard C++11 e C++98. Visual Studio 2017 consente l'uso di /sdl con /await. È stata anche rimossa la limitazione /rtc con le coroutine.

In questa versione sono stati introdotti numerosi miglioramenti per l'ottimizzazione e la generazione del codice. Ecco alcuni dei miglioramenti più rilevanti:

  • Miglioramento della generazione del codice per i cicli: supporto della vettorializzazione automatica della divisione di interi costanti e migliore identificazione dei modelli memset.
  • Maggiore sicurezza del codice: è stata migliorata l'emissione della diagnostica del compilatore per i sovraccarichi del buffer e /guard:cf protegge ora le istruzioni switch che generano tabelle di collegamento.
  • L'opzione /debug:fastlink è stata migliorata in modo da consentire tempi di collegamento più veloci del 30% su componenti di grandi dimensioni rispetto a Visual Studio 2015.
  • Quando si usano coroutine, la parola chiave sperimentale "yield" (disponibile sotto l'opzione /await) è stata rimossa. È necessario aggiornare il codice per l'uso di "co_yield". Per altre informazioni, vedere il blog del team di Visual C++.

Librerie C++

  • [STL] Sono state migliorate le prestazioni di basic_string.
  • [STL] Sono stati aggiunti <any>, <string_view>, apply() e make_from_tuple().
  • [STL] Sono stati apportati miglioramenti a std::vector in termini di correttezza e prestazioni.
  • [STL] La libreria STL ora evita la dereferenziazione dei puntatori null ricercati.
  • [STL] Sono stati aggiunti <optional>, <variant>, shared_ptr::weak_type e <cstdalign>.
  • [STL] È stato abilitato constexpr C++14 in min/max/minmax(initializer_list) e min_element/max_element/minmax_element().
  • [STL] Sono state migliorate le prestazioni (più che triplicate) per i costruttori di spostamento std::string/std::wstring.
  • [STL] Per un elenco completo dei miglioramenti apportati a STL, vedere il blog del team di Visual C++.
  • [ATL] È disponibile un altro set di correzioni per la conformità della ricerca dei nomi.
  • [ATL] I costruttori di spostamento e gli operatori di assegnazione dello spostamento esistenti sono ora contrassegnati correttamente in modo da non generare eccezioni.
  • [ATL] È stata annullata l'eliminazione dell'avviso valido C4640 relativo all'inizializzazione thread-safe di elementi statici locali in atlstr.h.
  • [ATL] L'inizializzazione thread-safe di elementi statici locali veniva disattivata automaticamente nel set di strumenti XP quando [si usava ATL e si compilava una DLL]. Questa procedura non è più necessaria. È possibile aggiungere /Zc:threadSafeInit- nelle impostazioni del progetto se si desidera disattivare l'inizializzazione thread-safe.
  • [AMP] Controllo della libreria e correzione di errori ortografici.
  • [VCRuntime] Nuova intestazione 'cfguard.h' per i simboli di protezione del flusso di controllo.

IDE C++

Le prestazioni di modifica della configurazione sono ora migliori per i progetti nativi C++ e molto migliori per i progetti C++/CLI. La prima attivazione di una configurazione della soluzione è ora più veloce e tutte le attivazioni successive saranno quasi immediate.

Il nuovo motore di database basato su SQLite viene ora usato per impostazione predefinita. Questo consente di velocizzare le operazioni di database come Vai a definizione e Trova tutti i riferimenti e migliorerà significativamente il tempo di analisi iniziale. L'impostazione è stata spostata in Strumenti > Opzioni > Editor di testo -> C/C++ -> Avanzate. Nelle versioni precedenti si trova in ...C/C++ > Sperimentale.

Le prestazioni di IntelliSense sono state migliorate su progetti e file senza intestazioni precompilate. Per le intestazioni nel file corrente verrà creata un'intestazione automatica precompilata.

Gli aggiornamenti includono quanto segue:

  • Sono state aggiunte funzioni di filtro e guida per gli errori di IntelliSense presenti nell'elenco errori. È ora possibile fare clic sulla colonna degli errori per applicare un filtro. È inoltre possibile fare clic su errori specifici o premere F1 per avviare la ricerca online del messaggio di errore.

Error List

Error List Filtered

  • È stata aggiunta la possibilità di filtrare per tipo gli elementi dell'elenco dei membri.

Member List Filtering

  • È stata aggiunta una nuova funzionalità sperimentale IntelliSense predittivo che fornisce un elenco di risultati filtrato e compatibile con il contesto per l'elenco dei membri.

  • La nuova interfaccia utente Trova tutti i riferimenti offre informazioni che indicano se è in corso la lettura o la scrittura in una variabile nei risultati per il codice C++.

  • La funzionalità IntelliSense "da punto a freccia" è passata dalla fase sperimentale alla fase avanzata ed è ora abilitata per impostazione predefinita. Anche le funzionalità di espansione ambito e di espansione precedenza dell'editor sono passate dalla fase sperimentale alla fase avanzata.

  • Le funzionalità di refactoring sperimentale Cambia firma ed Estrai funzione ora sono disponibili per impostazione predefinita.

  • È stata abilitata la nuova funzionalità sperimentale per il caricamento più rapido dei progetti C++. Alla prossima apertura, un progetto C++ verrà caricato più velocemente e la volta successiva ancora più velocemente.

  • Sono stati apportati miglioramenti all'esperienza Apri cartella. È possibile modificare, compilare ed eseguire il debug del progetto C++ non MSBuild caricando il codice sorgente tramite "Apri cartella". Personalizzare l'esperienza tramite i file json seguenti:

    • CppProperties.json per personalizzare l'esperienza IntelliSense e di esplorazione.
    • Tasks.vs.json per personalizzare le procedure di compilazione.
    • Launch.vs.json per personalizzare l'esperienza di debug.
  • IntelliSense C++ funzionerà senza necessità di creare un file CppProperties.json nella cartella radice. È stato anche aggiunto un nuovo elenco a discesa per consentire agli utenti di passare facilmente tra le configurazioni fornite dai file CMake e CppProperties.json. Supporto per CMake in Apri cartella: l'apertura di progetti CMake con "Apri cartella" determina automaticamente la configurazione dell'ambiente per la modifica, la compilazione e il debug in C++.

  • Supporto per configurazione aggiuntiva tramite un file CMakeSettings.json che si trova nella stessa cartella del file CMakeLists.txt.

CMake Open Folder

  • Supporto per CMake:
    • Per una panoramica del supporto per CMake, vedere il blog del team di Visual C++.
    • Altre informazioni sul supporto per CMake sono disponibili nel video di 10 minuti CMake.
  • Sviluppo Linux con C++: vedere il video Linux.

Carichi di lavoro di installazione per C++

  • Sviluppo per Windows Desktop con C++:

    • È ora disponibile un'esperienza più granulare per l'installazione del carico di lavoro per C++ originario. Sono stati aggiunti componenti selezionabili che consentono di installare solo gli strumenti necessari. Si noti che le dimensioni di installazione indicate per i componenti elencati nell'interfaccia utente del programma di installazione non sono precise e sottovalutano la dimensione totale.

    • Per creare progetti Win32 nel carico di lavoro per desktop C++, è necessario installare un set di strumenti e un SDK Windows. L'installazione dei componenti consigliati (selezionati) "Set di strumenti VC++ 2017 versione 141 (x86, x64)" e "Windows 10 SDK (10.0.14393)" ne garantirà il funzionamento. Se gli strumenti necessari non vengono installati, i progetti non verranno creati e la procedura guidata verrà interrotta.

  • Sviluppo per Linux con C++:

    • L'estensione comune Visual C++ for Linux Development ora fa parte di Visual Studio. Questa installazione include tutto il necessario per lo sviluppo e il debug di applicazioni C++ in esecuzione in un ambiente Linux.
  • Sviluppo di giochi con C++:

    • Usare tutta la potenza di C++ per compilare giochi professionali con tecnologia DirectX o Cocos2d.
  • Sviluppo di app per dispositivi mobili con C++ (Android e iOS):

    • Usando Visual Studio è ora possibile creare app per dispositivi mobili destinate ad Android e iOS ed eseguirne il debug.
  • Sviluppo per la piattaforma UWP:

    • C++ viene fornito come componente facoltativo del carico di lavoro per lo sviluppo della piattaforma UWP. Attualmente l'aggiornamento di progetti C++ deve essere eseguito manualmente. Quando si apre un progetto UWP destinato a v140 in Visual Studio 2017, se Visual Studio 2015 non è installato è necessario selezionare il set di strumenti della piattaforma v141 nelle pagine delle proprietà del progetto.

Set di strumenti della piattaforma Clang/C2

Il set di strumenti Clang/C2 incluso in Visual Studio 2017 supporta ora l'opzione /bigobj, essenziale per lo sviluppo di progetti di grandi dimensioni. Include inoltre alcune importanti correzioni di bug sia sul front-end che sul back-end del compilatore.


C# e Visual Basic

Estensioni linguaggio

Questa versione introduce il supporto per le funzionalità dei linguaggi C# 7.0 e Visual Basic 15, incluse le seguenti:

Per C#:

Per Visual Basic:

  • Le tuple di valori introducono nei linguaggi il supporto per raggruppare temporaneamente un set di valori tipizzati: Dim point As (x As Integer, y As Integer) = GetOffset().
  • L'uso di valori restituiti ByRef estende il linguaggio per supportare l'uso di funzioni e proprietà dalle librerie che hanno valori restituiti ByRef.
  • I valori letterali binari e i separatori di gruppi di cifre consentono la rappresentazione nativa dei numeri binari. Questo è estremamente comodo per le maschere di bit e le enumerazioni Flags: &B1001_0011.

Per altre informazioni, seguire la progettazione dei linguaggi in CSharpLang GitHub e VBLang GitHub in cui vengono descritte queste e altre proposte di estensioni.

Azioni rapide e refactoring

Visual Studio offre numerose funzionalità di refactoring che assicurano un aumento della produttività e migliorano la leggibilità del codice. Eccone alcune:

  • Inizializzazione dell'oggetto semplificata tramite un inizializzatore:

Use object initializer

  • Possibilità di spostare le dichiarazioni di variabili out inline usando una nuova funzionalità di C#7:

Move out variable inline

  • Semplificazione dei check NULL e delle espressioni THROW usando l'operatore null-coalescing tramite una nuova funzionalità di C#7:

Use throw expression with null-coalescing operator

  • Spostamento di un tipo in un file corrispondente: è possibile estrarre un tipo da un file e inserirlo in un altro file con un nome corrispondente eseguendo una sola operazione tramite Ctrl+..
  • Sincronizzazione del nome del tipo e del nome file: se il nome file e il nome del tipo non sono sincronizzati, è possibile usare Ctrl+..
  • Conversione di String.Format in interpolazione di stringa: sfruttare la funzionalità del linguaggio C# 6 con questa azione rapida.
  • Aggiunta di occorrenze mancanti a un'opzione di comando C# o a un'istruzione Select di Visual Basic.
  • Conversione di una proprietà in metodo e viceversa.
  • Aggiunta di un riferimento al pacchetto: è possibile recuperare automaticamente e installare un pacchetto NuGet (e aggiungere using/Import) per un tipo non riconosciuto. Per abilitare questa funzionalità, passare a Strumenti > Opzioni > Editor di testo > [C# / Basic] > Avanzate > Suggerisci le direttive using per i tipi in assembly di riferimento / Suggerisci le direttive using per i tipi in pacchetti NuGet.
  • Possibilità di sincronizzare i metodi asincroni, dove applicabile.
  • Supporto per la corrispondenza "fuzzy"per i tipi con errori di digitazione.
Configurazione e imposizione della codifica

In base al supporto di Visual Studio per EditorConfig, grazie ai suggerimenti della community sono state aggiunte impostazioni di stile di codice .NET al formato di file. Ciò consente quindi di configurare le convenzioni relative allo stile del codice del team, verificarle nel controllo del codice sorgente e visualizzare eventuali violazioni nell'editor man mano che gli sviluppatori procedono con la digitazione. È possibile visualizzare tutte le opzioni dello stile del codice nell'area .editorconfig del repository Roslyn o nella documentazione. È possibile continuare a configurare le impostazioni relative allo stile di codice specifiche del computer in Strumenti > Opzioni > Editor di testo > [C#/Basic] > Stile codice. Queste regole vengono sovrascritte quando è presente un EditorConfig in conflitto.

Sono stati aggiunti/aggiornati tre nuovi analizzatori di stile per semplificare la personalizzazione e l'applicazione delle convenzioni di codifica nel team, come illustrato di seguito:

  • Regole di stile di denominazione
  • Uso di "var" o di tipi espliciti
  • Uso di "this." o "Me." sugli accessi dei membri
  • Uso di blocchi o corpi di espressione.
  • Uso di tecniche di corrispondenza dei modelli per controlli 'cast' e 'null'.
  • Uso di nomi di tupla espliciti.
  • Semplificazione dei check null con espressioni throw, dei delegati condizionali, delle espressioni coalesce e della propagazione null.
  • Sono necessarie le parentesi graffe.

Nota: alcune di queste regole relative allo stile di codice sono configurate per impostazione predefinita nell'editor come suggerimenti.

Configure code style preferences and enforcement from EditorConfig

Miglioramenti di IntelliSense

Questa versione introduce anche alcuni miglioramenti di IntelliSense che aumenteranno la produttività degli utenti quando usano una soluzione di grandi dimensioni o una codebase con cui non hanno familiarità. In IntelliSense è stata aggiunta una barra che consente di filtrare l'elenco dei membri in base al tipo, ad esempio metodi, proprietà, classi e così via. Sono stati definiti tasti di scelta rapida che consentono di attivare e disattivare i filtri. Per individuare i tasti di scelta rapida, passare il mouse sopra l'icona. Per abilitare questa funzionalità, passare a Strumenti > Opzioni > Editor di testo > [C# / Basic] > IntelliSense e selezionare le opzioni per il filtro e l'evidenziazione.

IntelliSense Completion Filtering

Altri miglioramenti apportati all'editor

  • È ora possibile dividere una stringa lunga in più stringhe concatenate posizionando il cursore a metà di tale stringa e premendo Enter.
  • È stato eseguito un notevole lavoro per migliorare la velocità di risposta dell'IDE in presenza di operazioni in background che calcolano informazioni di diagnostica e di CodeLens.

F# 

Supporto delle funzionalità del linguaggio F# 4.1

  • Tuple di struct interoperabili con le tuple C# 7/VB 15.
  • Valori restituiti ByRef che supportano l'utilizzo di valori restituiti C# 7 ref.
  • Supporto di record struct con l'attributo [<Struct>] (di Will Smith).
  • Supporto dell'unione discriminata di struct con l'attributo [<Struct>].
  • Nuovo tipo Result<'TSuccess, 'TFailure>, con le funzioni di supporto in FSharp.Core (di Oskar Gewalli).
  • Parola chiave fixed, che supporta l'aggiunta di una variabile locale di tipo puntatore nello stack.
  • Caratteri di sottolineatura nei valori letterali numerici (di Avi Avni.
  • Argomenti di attributi informativi sul chiamante (di Lincoln Atkinson e Avi Avni).
  • Tipi e moduli con referenzialità reciproca all'interno dello stesso file tramite namespace rec e module rec.
  • Suffisso "Module" implicito nei moduli che condividono lo stesso nome come tipo.

Sono stati apportati numerosi miglioramenti al compilatore F#  e a FSharp.Core

(Molti realizzati dalla community di F#)

Un nuovo editor basato su aree di lavoro Roslyn

(Molte nuove funzionalità dell'IDE implementate con il contributo dell'incredibile community di F#)

Contributi principali dalla community di F# 

Vorremmo ringraziare tutta la community di F# per aver dedicato tempo a provare le build degli strumenti per F# in Visual Studio 2017, registrare i bug, partecipare alle discussioni e implementare correzioni di bug e funzionalità. Il successo di F# in Visual Studio 2017 davvero non sarebbe stato possibile senza la community di F#. Per l'elenco completo dei collaboratori, fare clic qui.


JavaScript e TypeScript

TypeScript 2.1

TypeScript 2.1 è disponibile per tutti i progetti TypeScript in Visual Studio. TypeScript 2.1 offre down-level async/await, migliore inferenza dei tipi, espansione di oggetti locali e altro ancora. Per altre informazioni sulla versione, vedere il post di blog relativo al rilascio o il log completo delle modifiche.

JavaScript Language Service

Un nuovo servizio di linguaggio JavaScript è disponibile e abilitato per impostazione predefinita. Il nuovo servizio migliora IntelliSense e include il supporto IntelliSense per le annotazioni di commenti JSDoc, ES6 e i formati di modulo Common JS. Supporta inoltre la sintassi JSX le funzionalità di ES2016, ad esempio i generatori, i moduli e gli elementi Decorator. Per altre informazioni, vedere questo post di blog o la documentazione di JavaScript IntelliSense in GitHub.

Rich JavaScript IntelliSense for jQuery

Miglioramenti delle prestazioni

In questa versione, il miglioramento delle prestazioni è uno degli aspetti a cui è stata dedicata maggiore attenzione. Oltre a diverse ottimizzazioni volte a migliorare le caratteristiche di memoria e velocità di risposta, l'intero servizio relativo al linguaggio JavaScript/TypeScript è stato spostato in un processo satellite all'esterno di devenv.exe per assicurare più spazio di memoria ai progetti Visual Studio di maggiori dimensioni. In questo modo, durante il lavoro su progetti JavaScript di grandi dimensioni, si noterà che il processo Visual Studio utilizzerà meno memoria e si verificherà un numero minore di arresti anomali dovuti a memoria insufficiente. Per altre informazioni su questi miglioramenti, vedere questo post di blog.


Debug e diagnostica

Esegui fino alla riga selezionata

È sufficiente fare clic sull'icona accanto a una riga di codice durante il debug per proseguire l'esecuzione fino a tale riga. Non è più necessario impostare punti di interruzione temporanei o eseguire diversi passaggi per eseguire il codice fino a una determinata riga. Quando l'esecuzione è in stato di interruzione nel debugger, accanto alla riga di codice su cui è posizionato il puntatore viene visualizzata l'icona Esegui fino alla riga selezionata. Spostare il puntatore del mouse sull'icona e fare clic sul pulsante. Il codice verrà eseguito e si interromperà in corrispondenza di tale riga la volta successiva che viene raggiunta nel percorso del codice. Per disattivarla, scegliere Debug/Opzioni/Enable Run to Click (Abilita l'esecuzione fino alla riga selezionata).

Run to Click Icon

Finestra Connetti a filtro

È possibile eseguire facilmente ricerche nella finestra di dialogo Connetti a processo per trovare rapidamente il processo a cui si vuole connettere il debugger. L'elenco dei processi in esecuzione verrà filtrato in base agli elementi che soddisfano i criteri di ricerca. Il filtro di ricerca è permanente e manterrà memorizzata la ricerca precedente quando si riaprirà la finestra di dialogo.

Attach to Process Filter

Riconnetti a processo

È ora possibile riconnettere rapidamente i processi di cui è stato eseguito il debug in precedenza. L'attivazione del nuovo comando Debug/Reattach to Process (Debug/Riconnetti a processo) (MAIUSC+ALT+P) tenterà immediatamente di connettere il debugger agli ultimi processi della precedente sessione di debug che sono stati richiamati dalla finestra di dialogo Connetti a processo. Il debugger si riconnetterà ai processi tentando prima di tutto di associare il precedente ID processo e quindi associando il precedente nome di processo. Se non vengono trovate corrispondenze o ci sono più processi con lo stesso nome, viene visualizzata la finestra di dialogo "Connetti a processo" in modo che sia possibile selezionare il processo di destinazione.

Nuovo supporto eccezioni

Usare la nuova finestra di dialogo del supporto eccezioni, non modale, compatta e con accesso immediato alle eccezioni interne, per visualizzare in modo immediato le informazioni sulle eccezioni. È ora possibile individuare rapidamente i riferimenti Null direttamente nel gestore di eccezioni durante la diagnostica di NullReferenceException. Ora si può escludere l'interruzione per i tipi di eccezione generati da specifici moduli facendo clic sulla casella di controllo per aggiungere una condizione durante l'arresto in corrispondenza dell'eccezione generata. Per informazioni più dettagliate sui nuovi vantaggi offerti dal gestore di eccezioni, leggere questo post di blog.

The New Exception Helper dialog

Aggiungere condizioni alle impostazioni delle eccezioni

Quando si configura il debugger per interrompere l'esecuzione se viene generata un'eccezione, è possibile aggiungere condizioni in modo che l'esecuzione venga interrotta solo quando vengono generate eccezioni in moduli specifici.

Edit Conditions dialog box

Miglioramenti di accessibilità del debugger

Ora è possibile usare più efficacemente varie finestre del Debugger (Stack di chiamate, Variabili locali, Auto, Espressioni di controllo e Controllo immediato) con gli screen reader e per altre esigenze di accessibilità.

Eventi di IntelliTrace per .NET Core

IntelliTrace supporta ora gli eventi MVC, ADO.NET e HttpClient per le app ASP.NET Core. Questi saranno visualizzati nella scheda Eventi della finestra Strumenti di diagnostica.

Aggiornamenti della finestra Strumenti di diagnostica

Quando si avvia una sessione di debug, si noterà una nuova vista di riepilogo dell'applicazione nella finestra Strumenti di diagnostica. Da qui sarà possibile:

Summary tab in Diagnostics Tools Window

Aggiornamenti del profiler delle prestazioni

Il profiler delle prestazioni ora può essere collegato a un processo in esecuzione. Lo strumento Utilizzo CPU, lo strumento Utilizzo GPU e la Creazione guidata sessione di prestazioni supportano ora il collegamento a un processo in esecuzione.

Aggiornamenti dello strumento Utilizzo CPU

Sono stati apportati diversi miglioramenti allo strumento Utilizzo CPU:

  • Supporto migliorato per il codice esterno - Lo strumento Utilizzo CPU visualizza ora informazioni più dettagliate sui costi della CPU per le funzioni di librerie e framework chiamate da codice utente.
  • Visualizzazione Funzioni - Una visualizzazione che classifica le funzioni in base al costo della CPU.

Functions List

  • La visualizzazione Chiamante/chiamato consente di analizzare i costi delle chiamate di funzione effettuate da e verso una funzione selezionata.

Caller / Callee View

  • La visualizzazione Origine mostra il codice sorgente di una funzione quando la funzione è selezionata nello strumento CPU.

Supporto per il debug in Chrome

Quando si avvia il debug di progetti ASP.NET e si sceglie Google Chrome come browser, Visual Studio esegue il debug del JavaScript che è in esecuzione in Chrome. Se si preferisce usare gli strumenti di sviluppo del browser, è possibile disabilitare questa funzionalità in Strumenti > Opzioni > Debug.


Live Unit Testing

Live Unit Testing è una funzionalità di Visual Studio 2017 Enterprise che visualizza in tempo reale i risultati del testing unità e la copertura del codice. Supporta progetti MSTest, xUnit e Nunit per C# e Visual Basic che hanno come destinazione .NET Framework.

Live Unit Testing

Per maggiori dettagli, vedere il blog di Live Unit Testing.


Strumenti di test

È possibile associare l'automazione a elementi di lavoro del test case tramite Esplora test

È ora possibile associare l'automazione a elementi di lavoro del test case selezionando un metodo di test in Esplora test. Questa nuova esperienza consente di visualizzare qualsiasi associazione esistente per il metodo di test scelto.

Per creare un'associazione, è sufficiente fare clic su un test in Esplora test

Test Explorer Associate Automation

e fornire l'ID di un test case.

Associate Automation

Nelle versioni precedenti di Visual Studio questa operazione poteva essere eseguita usando il form dell'elemento di lavoro. È possibile abilitare l'esperienza basata sul form dell'elemento di lavoro attivando la modalità di compatibilità mediante Strumenti | Opzioni.

Work Item Form Compatibility mode


Team Explorer

Nuove funzionalità Git

In Visual Studio 2017 sono state aggiunte nuove funzionalità Git che consentono di ottenere il massimo dal flusso di lavoro end-to-end senza uscire dall'IDE. È possibile visualizzare facilmente la differenza per i commit in uscita, eseguire un force push per completare una riassegnazione o eseguire il push di un commit corretto, annullare l'impostazione del ramo upstream e continuare la riassegnazione di una patch da Visual Studio. È stato anche eseguito il trasferimento in git.exe dove sono disponibili le funzionalità più aggiornate. SSH è supportato, le opzioni di configurazione vengono mantenute e in Team Explorer viene visualizzato esattamente ciò che si trova nella riga di comando. Per altre informazioni su queste funzionalità, vedere questo post di blog.

Connessione a VSTS/TFS

Nella pagina iniziale di Visual Studio e in Team Explorer il processo per la connessione a progetti e la clonazione di repository in VSTS/TFS è stato personalizzato e semplificato, rendendo più facile e veloce l'individuazione di progetti e repository a cui connettersi. La nuova pagina Connetti mostra solo i progetti e repository di cui è stato eseguito il mapping e la clonazione per tutti i server VSTS/TFS (anziché i singoli repository per ogni progetto). Inoltre, non è più necessario connettersi a un progetto prima di clonare i repository.

Quando si avvia la finestra di dialogo per connettersi a VSTS e TFS, verrà visualizzata l'esperienza utente riprogettata. Verranno visualizzati gli eventuali server TFS aggiunti, seguiti da tutti i server, i progetti e i repository di VSTS per l'account utente selezionato. I risultati sono elencati in una struttura ad albero per maggiore semplicità di navigazione. È possibile connettersi a raccolte o progetti, oltre ai repository. Per altre informazioni, vedere Connect to Team Projects (Connettersi ai progetti team).

Form degli elementi di lavoro

Se ci si connette a Visual Studio Team Services da Visual Studio 2017 e si apre un elemento di lavoro, il form di tale elemento verrà visualizzato nel Web browser. Se tuttavia ci si connette a Team Foundation Server 2015 o versione precedente, verranno visualizzati i form degli elementi di lavoro precedenti.

Work Item Form in Team Explorer


Flusso di lavoro migliorato per commenti e suggerimenti su Visual Studio

L'esperienza per l'invio di commenti e suggerimenti in Visual Studio 2017 è stata aggiornata per offrire funzionalità più efficaci di follow-up e collaborazione. L'aggiornamento includerà un'esperienza più collaborativa per l'opzione Segnala un problema Visual Studio, integrata da un portale Web completo per una soluzione di commenti e suggerimenti end-to-end completa. È ora possibile eseguire ricerche, seguire, votare e ottenere gli aggiornamenti più recenti per tutti i commenti e suggerimenti inviati tramite la funzionalità Segnala un problema dell'IDE di Visual Studio. Queste esperienze ottimizzate sono in linea con molti dei commenti e suggerimenti inviati dagli utenti e consentono di abilitare la comunicazione bidirezionale tra i team e gli utenti.


Estendibilità in Visual Studio

Nuovo formato di estendibilità

La nuova tecnologia di installazione in Visual Studio 2017 offre agli utenti un controllo maggiore sugli strumenti che vengono installati. Alcuni utenti potrebbero installare solo l'editor principale di Visual Studio, mentre altri utenti potrebbero installare diversi carichi di lavoro. Per verificare che siano installate le funzionalità necessarie richieste da un'estensione, gli autori delle estensioni ora possono specificare i singoli componenti richiesti dall'estensione nel relativo manifesto.

Gli utenti verranno avvisati quando tenteranno di installare un'estensione che non è stata compilata utilizzando il nuovo formato VSIX. Il vecchio formato VSIX non specifica i prerequisiti necessari e potrebbe non funzionare se tali prerequisiti non sono disponibili in Visual Studio 2017. Il nuovo formato VSIX è compatibile con le versioni precedenti e può essere usato con le versioni precedenti di Visual Studio fino a Visual Studio 2012.

La finestra di progettazione del manifesto VSIX è stata aggiornata per riflettere le modifiche al manifesto. Nella scheda dei prerequisiti gli sviluppatori di estensioni possono trovare un elenco dei componenti installati da specificare come prerequisito per la loro estensione.

Prerequisite

Durante l'installazione dell'estensione, il programma di installazione VSIX indicherà quali componenti mancano e li installerà automaticamente insieme all'estensione.

VSIXInstaller

Modificare le estensioni in blocco

Nella finestra di dialogo Estensioni e aggiornamenti ora è possibile pianificare più estensioni per l'installazione, l'aggiornamento e la disinstallazione prima che sia necessario riavviare Visual Studio. Nell'angolo inferiore destro compare un riepilogo delle operazioni pianificate. Per rimuovere una modifica pianificata, fare clic sulla X accanto a un'estensione che è attualmente pianificata per l'installazione.

Extensions and Updates Dialog

Una volta che il programma di installazione VSIX ha rilevato che tutte le finestre di Visual Studio sono chiuse, inizia a completare le modifiche pianificate.

Batched Modification Installer

Supporto di Ngen

È ora possibile scegliere di installare gli assembly mediante Ngen.

NGEN Properties

  • NGen - Se usare o meno NGen sull'assembly.
  • Applicazione NGen - Applicazione da passare a Ngen mediante l'opzione /ExeConfig.
  • Architettura NGen - Architettura di destinazione per l'immagine nativa. Le opzioni sono: x86, x64 e tutti.
  • Priorità NGen - Livello di priorità di NGen.

Installare i file all'esterno della directory dell'estensione

È ora possibile installare i file in un elenco di cartelle selezionate che si trovano all'esterno della directory dell'estensione.

VSIX Properties

  • Include in VSIX (Includi in VSIX) - È possibile includere il file in VSIX.
  • Install Root (Radice di installazione) - Directory radice in cui installare il file. Le opzioni sono: Predefinito (installazione all'interno della directory dell'estensione), PublicAssemblies, ReferenceAssemblies, MSBuild, Schemi, Licenze, RemoteDebugger e VSTargets.
  • Target Path (Percorso di destinazione) - Nome del file da installare nel computer dell'utente.
  • VSIX Sub Path (Percorso VSIX secondario) - Percorso secondario sotto la radice di installazione in cui verrà installato il file.

Gestione roaming estensioni

La nuova funzionalità di Visual Studio 2017, Gestione roaming estensioni, consente di tenere traccia delle estensioni preferite in tutti gli ambienti di sviluppo. Il roaming delle estensioni consente di tenere traccia delle estensioni installate creando un elenco sincronizzato sul cloud.

Quando si accede a Visual Studio, è possibile visualizzare rapidamente un elenco delle estensioni scegliendo Strumenti > Estensioni e aggiornamenti e facendo clic su Gestione roaming estensioni. Questa funzionalità consente di tenere traccia delle estensioni installate e di scegliere quelle da aggiungere all'elenco di roaming. Nella raccolta sono disponibili ogni giorno nuove estensioni. Lo strumento semplifica e rende più rapida la configurazione di ogni ambiente di sviluppo con le estensioni preferite dell'utente.

The new Roaming Extension Manager in the Visual Studio IDE

Quando si usa questa funzionalità è possibile notare tre tipi di icone:

  • Icona con roaming Icona con roaming - Indica un'estensione che fa parte dell'elenco di roaming, ma non è installata nel computer. Per installarla, usare il pulsante "Download".
  • Icona con roaming e installazione Icona con roaming e installazione - Indica tutte le estensioni incluse nell'elenco di roaming e installate nell'ambiente. Se si decide di evitare il roaming, è possibile rimuovere le estensioni tramite il pulsante "Arresta roaming".
  • Icona con installazione Icona con installazione - Indica tutte le estensioni installate nell'ambiente, ma non incluse nell'elenco di roaming. Le estensioni possono essere aggiunte all'elenco di roaming mediante il pulsante "Avvia roaming".

Queste icone mostreranno lo stato corrente dell'elenco. È possibile includere qualsiasi estensione con qualsiasi stato, personalizzandole in base alle proprie esigenze. In alternativa, è possibile usare le procedure automatiche. Qualsiasi estensione scaricata quando si è connessi verrà aggiunta all'elenco come con roaming e installata e sarà inclusa nell'elenco di roaming. Sarà quindi possibile accedere all'estensione da qualsiasi altro computer.

Individuazione dei modelli di progetto ed elemento

A partire da Visual Studio 2017, è stata apportata una modifica sostanziale al modo in cui Visual Studio usa i modelli di progetto ed elemento per migliorare le prestazioni della funzionalità di individuazione dei modelli. In base al nuovo meccanismo di rilevamento, tutti i modelli di progetto ed elemento che seguono lo schema "vstemplate" devono essere definiti nei file manifesto dei modelli. I modelli di Visual Studio che non sono definiti in un file manifesto dei modelli non saranno più visibili nelle finestre di dialogo Nuovo progetto o Nuovo elemento. I nuovi strumenti di estendibilità generano un file manifesto durante la fase di compilazione di VSIX. Se si hanno modelli di Visual Studio rilasciati come parte di un pacchetto MSI, è necessario generare manualmente i file manifesto per tali modelli. Per altre informazioni, visitare la pagina MSDN Upgrading Custom Project and Item Templates for Visual Studio 2017 (Aggiornamento dei modelli di progetto ed elemento personalizzati per Visual Studio 2017).


.NET Core e ASP.NET Core

È disponibile la versione finale 1.0 dei nuovi strumenti per Microsoft .NET Core basati su MSBuild. Con Visual Studio 2017 è possibile creare librerie .NET Standard, librerie e app .NET Core e progetti Web ASP.NET che usano il nuovo formato csproj.

Gli strumenti .NET Core sono inclusi automaticamente nel carico di lavoro Sviluppo ASP.NET e Web e come componente facoltativo nel carico di lavoro Sviluppo per desktop .NET nel programma di installazione. Per sviluppare soltanto applicazioni .NET Core da usare su più piattaforme, è possibile installare soltanto gli strumenti .NET Core e ASP.NET Core mediante il carico di lavoro "Sviluppo multipiattaforma .NET Core" disponibile nella sezione "Altri set di strumenti" del programma di installazione.

Di seguito sono elencate le funzionalità di livello avanzato disponibili in questa versione:

  • Supporto di MSBuild per i progetti .NET Core, con formato di progetto csproj semplificato, che rende più semplice la modifica manuale senza necessità di scaricare il progetto.
  • Per modificare il file csproj di .NET Core è sufficiente fare clic con il pulsante destro del mouse in Esplora soluzioni e scegliere "Modifica".
  • Supporto per i caratteri jolly dei file nel file di progetto, in cui non è necessario elencare tutti i nomi dei file del codice sorgente. Questo consente di non aumentare eccessivamente le dimensioni del file csproj.
  • Riferimenti al pacchetto NuGet come parte del file csproj, che consolidano tutti i riferimenti al progetto in un file.
  • Interoperabilità tra progetti .NET Core, .NET Standard e .NET Framework. Un progetto .NET Core, ad esempio, può aggiungere a un progetto .NET Standard un riferimento da progetto a progetto.
  • Framework a più destinazioni e tra destinazioni in un progetto singolo.
  • I progetti .NET Core project.json esistenti vengono automaticamente migrati a csproj quando vengono aperti in Visual Studio. In alternativa, è possibile migrarli manualmente usando l'interfaccia della riga di comando (CLI) di .NET.
  • Configurazione semplice della continua integrazione delle compilazione per applicazioni ASP.NET Core con supporto Docker e recapito continuo di compilazioni ai servizi dei contenitori di Azure dall'interno dell'IDE di Visual Studio.

Per altre informazioni, vedere il blog di .NET.


Strumenti per lo sviluppo di app di Windows universali

Toolchain .NET Native aggiornata

Questa toolchain .NET Native aggiornata aggiunge alcune ottimizzazioni per migliorare le prestazioni di runtime per app UWP gestite in Visual Studio. Questa versione include più di 600 correzioni di bug, oltre a funzionalità per risolvere i problemi chiave segnalati dai clienti e migliorare la qualità complessiva della toolchain.

Pacchetto 5.3.0 Microsoft.NETCore.UniversalWindowsPlatform

Questo aggiornamento delle librerie del framework NuGet di .NET Core risolve alcuni problemi essenziali segnalati dai clienti. I progetti UWP esistenti possono usare Gestione riferimenti di NuGet per eseguire l'aggiornamento a questa nuova versione. Il nuovo pacchetto .NET Core include inoltre la toolchain .NET Native.

SDK ed emulatore per l'Aggiornamento dell'anniversario di Windows 10

Windows SDK e l'emulatore di Windows Phone per l'Aggiornamento dell'anniversario di Windows 10 sono inclusi in questa versione.

  • Gli elementi dell'interfaccia utente creati dalla casella degli strumenti verranno creati con meno tag XAML, con conseguente semplificazione e migliore leggibilità del codice XAML.
  • Un nuovo strumento di opzioni nella finestra di progettazione XAML consente allo sviluppatore di selezionare il tema dell'interfaccia utente e le impostazioni di contrasto elevato da visualizzare in anteprima nell'area di progettazione.
  • Gli editor di valori nella finestra Proprietà ora accettano semplici equazioni matematiche, come "60+20". Le equazioni verranno valutate immediatamente (in questo caso, 80) e il valore risultante verrà inserito nel codice XAML.

Funzionalità di Progettazione manifesto per la creazione di asset visivi

L'interfaccia di Progettazione manifesto è stata aggiornata e vi è stata aggiunta la possibilità di generare asset visivi per le app UWP. Ora è possibile usare un'unica immagine di origine per creare riquadri, logo, icone e schermate iniziali di qualsiasi dimensione adatti a qualsiasi tipo di dispositivo cui l'app è destinata.

Manifest Visual Asset Generator

Analisi interfaccia utente

Gli strumenti della piattaforma UWP (Universal Windows Platform) consentono ora di rilevare alcuni problemi di accessibilità e prestazioni. Abilitando lo strumento "Analisi interfaccia utente" nel menu Strumenti della finestra Strumenti di diagnostica, la segnalazione di questi problemi sarà accompagnata da collegamenti ad articoli utili che spiegano come e perché correggere i problemi. Quando si sviluppano applicazioni con Analisi interfaccia utente abilitato, l'accessibilità e le prestazioni dell'interfaccia utente sono i primi aspetti presi in considerazione.


Xamarin

Xamarin 4.4 è incluso in Visual Studio 2017. Per altre informazioni, vedere le note sulla versione di Xamarin.

Questa versione di Xamarin per Visual Studio 4.4 aggiorna le versioni di Xamarin.iOS 10.8 e Xamarin.Android 7.2.

Correzioni di bug

Questa versione include le correzioni seguenti:

  • Le app di estensione iOS non vengono compilate e restituiscono l'errore "impossibile leggere dati dei diritti".(4.4.0.31)
  • Include simboli per i rapporti Watson. (4.4.0.6)
  • La distribuzione Android non viene eseguita se la soluzione include anche un progetto Wix. (4.3.1.39)
  • Deadlock che apre alcuni progetti iOS. (4.3.1.39)
  • I punti di interruzione non raggiungono i riferimenti PCL di secondo livello. (4.3.1.39)
  • Corregge il problema iOS causato dall'attività CodeSignNativeLibraries mancante. (4.3.1.39)
  • Errore durante l'apertura di uno storyboard dopo la connessione al server Mac. (4.3.1.39)
  • Il progetto di libreria di classi Android dovrebbe solo includere "Versione di Android per la compilazione:" nella pagina delle proprietà. (4.3.1.39)
  • Visual Studio si blocca quando si passa alla scheda "Strumenti->Opzioni->Xamarin->Altro". (4.3.1.39)
  • Visual Studio si blocca durante il caricamento di una soluzione multipiattaforma in alcuni ambienti. (4.3.1.1)
  • Non ci sono riferimenti a Microsoft.Csharp nei modelli di progetto di Visual Studio. (4.3.1.1)
  • Impossibile connettersi a un server Mac se la shell utente configurata non usa la sintassi bash. (4.3.1.1)
  • Opzione Submit to Test Cloud (Invia al cloud test) mancante (bug corretto in VS2013 e VS2015). (4.3.1.1)
  • Il debugger non funziona correttamente quando il nome di una variabile o di una proprietà è uguale al nome di una classe di un altro elemento. (4.3.1.1)
  • Impossibile rinominare un'immagine impostata dal catalogo di asset. (4.3.1.1)
  • La cartella 'Resources' è nascosta forzatamente nei progetti di estensione dell'espressione di controllo. (4.3.1.1)
  • La cartella "Assets.xcasset" che si trova nella cartella "Risorse" non è nascosta per i progetti tvOS. (4.3.1.1)

Strumenti di Visual Studio per Apache Cordova

Questa versione Preview di Visual Studio 2017 include i miglioramenti seguenti:

  • Cordova Simulate - Un nuovo simulatore basato su browser consente di creare velocemente il codice e visualizzare i risultati immediatamente nel browser. Livereload, Simulazione plug-in e il supporto di Ionic Framework garantisce a Visual Studio il più rapido flusso di lavoro per sviluppatori sul mercato.

Cordova simulate

  • Supporto per iOS 10 e XCode 8 - L'aggiornamento dell'agente server remotebuild per lo sviluppo iOS include ora il supporto per XCode 8.

  • Colorazione degli errori - Dato che la diagnostica degli errori di compilazione spesso richiede che gli sviluppatori leggano l'output di compilazione, è stata introdotta la colorazione degli errori nel riquadro dell'output di compilazione per agevolare la lettura. Sono anche state aggiunte intestazioni per delineare i passaggi del processo di compilazione e semplificare così l'identificazione del punto del processo di compilazione in cui si è verificato un errore.

Pretty printing

  • Acquisizione all'interno del prodotto - Oltre all'installazione semplificata per accelerare la creazione di app Cordova, sono stati aggiunti percorsi da Visual Studio che consentono di acquisire altri componenti di compilazione man mano che si procede con lo sviluppo. Se non sono stati installati componenti di Windows o Android, è possibile ottenerli tramite la barra di distribuzione, che avvierà l'installazione di Visual Studio e mostrerà tutte le fasi del processo di installazione.

In-product acquisition

  • Compilazioni più veloci e affidabili - Il nuovo programma di installazione di Visual Studio, combinato con l'installazione offline di componenti toolchain di terze parti completamente convalidati, offre compilazioni più rapide e più semplici da correggere, nonché una risoluzione dei problemi semplificata.
Importante

Gli strumenti di compilazione e gli emulatori per Android e Windows sono ora facoltativi. Possono essere acquisiti in modo dinamico tramite la barra dei menu di compilazione/distribuzione. Questa versione di Visual Studio non supporta progetti di Windows Store 8.1. È consigliabile aggiornare i progetti di Cordova in modo che facciano riferimento a Windows 10. La versione minima di Cordova supportata è la 6.0.0. Per la compilazione e la distribuzione in Visual Studio 2017, i progetti realizzati per una versione di Cordova precedente la 6.0.0 dovranno essere aggiornati in config.xml.


Node.js Tools per Visual Studio

Node.js Tools per Visual Studio trasforma Visual Studio in un ambiente avanzato per lo sviluppo di Node.js. Questa versione è incentrata sulla stabilità, sulle prestazioni e sulla qualità complessiva del prodotto, tra cui:

  • Migliore integrazione con il nuovo servizio di linguaggio Salsa JavaScript.
  • Uso ridotto di memoria e CPU e tempi di caricamento inferiori per il caricamento dei progetti.
  • Supporto per i file modello Pug.
  • Modelli di progetto più aggiornati.
  • Supporto per il framework di test Mocha 3.x.
  • Numerose correzioni di bug.

Grazie a tutti i collaboratori straordinari che hanno preso parte alla creazione di questa versione di Node.js Tools per Visual Studio. Per altre informazioni, vedere l'articolo open source sul progetto Node.js Tools su GitHub.


Visual Studio Tools per Unity

Usare Visual Studio per scrivere ed eseguire il debug dei giochi Unity su tutte le piattaforme. Visual Studio Tools per Unity 3 è ora disponibile per l'installazione con il carico di lavoro "Sviluppo di giochi con Unity" nel nuovo programma di installazione di Visual Studio 2017. Visual Studio Tools per Unity 3 è incentrato sul miglioramento dell'esperienza di modifica e debug del codice per gli sviluppatori di Unity, nonché sulla qualità complessiva del prodotto, tra cui:

  • Supporto IntelliSense per i messaggi Unity.
  • Applicazione di colori al codice dei messaggi Unity.
  • Valutazione migliorata delle espressioni nel debugger di Unity.
  • Miglioramento delle creazioni guidate dei messaggi Unity per supportare tutti i tipi di Unity in grado di ricevere messaggi.
  • Numerose correzioni di bug e ottimizzazioni.

Code completion session for Unity messages


Redgate

Redgate Data Tools inclusi in Visual Studio

Per estendere le funzionalità DevOps di Visual Studio 2017 all'ambiente di sviluppo di database SQL Server, sono ora disponibili nel carico di lavoro Elaborazione ed archiviazione dati gli strumenti Redgate Data Tools che includono Redgate SQL Prompt Core, Redgate SQL Search e Redgate ReadyRoll Core.

  • Redgate ReadyRoll Core, incluso in Visual Studio Enterprise 2017, consente di sviluppare script di migrazione e gestire modifiche del database mediante il controllo del codice sorgente, oltre ad automatizzare in modo sicuro le distribuzioni delle modifiche di database di SQL Server insieme alle modifiche delle applicazioni.
  • Redgate SQL Prompt Core, incluso in Visual Studio Enterprise 2017, consente di scrivere codice SQL più velocemente e con maggiore precisione grazie al supporto del completamento intelligente del codice. SQL Prompt completa automaticamente gli oggetti di database, gli oggetti di sistema e le parole chiave, oltre a offrire suggerimenti per le colonne durante la digitazione. Il codice risultante è quindi più pulito e con meno errori, perché non è necessario ricordare ogni nome di colonna o alias.
  • Redgate SQL Search, incluso in tutte le edizioni di Visual Studio 2017, consente di aumentare la produttività grazie alla possibilità di individuare rapidamente oggetti e frammenti SQL in più database.

NuGet

Visual Studio 2017 include NuGet 4.0. Questa versione si concentra sul riferimento al pacchetto di supporto per la maggior parte dei tipi di progetto, miglioramenti della qualità e miglioramenti delle prestazioni:

  • Nei progetti WPF, WindowsForms e UWP i pacchetti possono ora essere gestiti mediante riferimenti ai pacchetti.
  • Miglioramento del supporto del ripristino NuGet per il caricamento leggero delle soluzioni. È ora possibile eseguire ripristini senza dover caricare progetti.
  • Nei progetti .NET Core e ASP.NET Core, i pacchetti vengono ora gestiti tramiteriferimenti al pacchetto.
  • In Visual Studio 2017 e versioni successive, il file di configurazione NuGet.config a livello di computer è ora disponibile in %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config. In futuro, nuget.exe v4.0.0 + prenderà in considerazione anche il nuovo percorso per la configurazione a livello di computer. NuGet.config nei dati del programma non disporrà più di un riferimento implicito o non sarà considerato per l'unione gerarchica di NuGet.config.

Strumenti per le app XAML

Modifica e continuazione per XAML

Visual Studio consente ora di modificare XAML durante l'esecuzione dell'app WPF o dell'app di Windows universale. Durante il debug dell'app in Visual Studio, è possibile apportare modifiche al markup nell'editor di codice XAML. Le modifiche verranno riflesse nell'app in esecuzione senza che sia necessario ricompilarla.

Miglioramenti alla produttività dell'editor XAML

  • Filtro IntelliSense - Quando si digita codice XAML, l'elenco di completamento mostrerà solo i tipi corrispondenti e verrà selezionata la corrispondenza più vicina.
  • IntelliSense per x:Bind - È stato abilitato il completamento IntelliSense per x:Bind durante il binding a Percorso ed Eventi.
  • Completamento dello spazio dei nomi - Se non è presente il riferimento allo spazio dei nomi, il supporto IntelliSense durante la digitazione non sarà disponibile. Dopo aver completato la digitazione, si otterrà supporto per i suggerimenti LightBulb per generare e inserire il prefisso per il tipo e aggiungere la definizione dello spazio dei nomi nel documento XAML.
    ![IntelliSense_without namespace](media/intelliSense_without namespace.PNG "IntelliSense_without namespace")

* Per i tipi che richiedono un prefisso, IntelliSense offrirà il completamento automatico del prefisso se il riferimento allo spazio dei nomi esiste già.
  • Refactoring di ridenominazione del prefisso dello spazio dei nomi - È possibile richiamare l'azione di ridenominazione dal menu di scelta rapida o tramite la combinazione di tasti di scelta rapida CTRL+R+R, quando il cursore si trova sul prefisso. È anche possibile visualizzare le modifiche prima di applicarle.

    Rinominare il prefisso dello spazio dei nomi

  • Rimozione e ordinamento degli spazi dei nomi È ora possibile rimuovere gli spazi dei nomi non necessari e ordinarli dal menu di scelta rapida o tramite la combinazione di tasti di scelta rapida CTRL+R+G. Se il documento XAML contiene spazi dei nomi non necessari, sarà disponibile anche un'icona a forma di lampadina che offre la possibilità di rimuoverli.

    Rimuovere gli spazi dei nomi non necessari

  • Supporto di .editorconfig per l'editor XAML - È possibile definire impostazioni per indent_style, indent_size e tab_width nel file .editorconfig che verranno usate al posto delle impostazioni definite in Strumenti > Opzioni.

  • Visualizzatore di struttura per l'editor XAML - Il visualizzatore di struttura (ad esempio le guide di rientro) è ora incorporato in Visual Studio e non è necessaria un'estensione separata. Questa funzionalità consente di visualizzare immediatamente, senza dover scorrere, il contesto del blocco di codice a cui si sta lavorando.

    Visualizzatore struttura per l'editor XAML

Miglioramenti alle prestazioni XAML

  • Miglioramento delle prestazioni nel passaggio alla scheda XAML - Le prestazioni nel passaggio alla scheda XAML sono state migliorate in misura significativa. In un progetto di un cliente preso come esempio è stata osservata una riduzione del tempo di passaggio superiore al 90%.
  • Riduzione dei ritardi di digitazione nell'editor XAML - La digitazione di codice XAML è ora più veloce che mai. Sono stati effettuati diversi investimenti per ridurre i ritardi di digitazione nell'editor XAM e gli sviluppatori dovrebbero riscontrare una maggiore velocità di risposta a livello di editor XAML e IntelliSense XAML. Questo miglioramento risulta più evidente durante la modifica di un file XAML in progetti che utilizzano controlli di terze parti o librerie di controlli di grandi dimensioni.

Data Tools e SQL Server

SQL Server Data Tools

Visual Studio 2017 include l'aggiornamento più recente di SQL Server Data Tools, che abilita il supporto per le funzionalità più recenti del database SQL di Azure e di SQL Server 2016.

Questa versione consente di eseguire facilmente operazioni di sviluppo, test e distribuzione di un database in tutte le versioni di SQL Server e in tutte le piattaforme di database, sia in locale che sul cloud, usando Visual Studio. Questa versione include anche miglioramenti alla superficie di attacco per la programmabilità del database e semplifica l'esperienza di connessione a SQL in SQL Server Data Tools. Ora infatti vengono individuati automaticamente i database di SQL Server e del database SQL di Azure, a cui è possibile connettersi con un semplice clic.

Visual Studio 2017 fa anche riferimento ai nuovi tipi di autenticazione del database SQL di Azure, oltre che all'autenticazione integrata e tramite password di Azure Active Directory.


Strumenti di analisi per sviluppatori

Visual Studio 2017 include Developer Analytics Tools versione 8.6, con i miglioramenti seguenti:

  • CodeLens mostra sia i dati di debug che i dati di telemetria attivi nei progetti che inviano dati a una risorsa di Application Insights.
  • Per le eccezioni CodeLens si collega ad Analisi applicazione per mostrare l'impatto di un'eccezione sugli utenti.
  • CodeLens mostre le richieste dalle sessioni di debug locale nei progetti con Application Insights SDK.
  • Le richieste e le eccezioni per CodeLens sono ora disponibili dai progetti di Visual Basic.
  • Dopo la pubblicazione dell'app da Visual Studio, le metriche attive vengono visualizzate in una notifica di tipo avviso popup.
  • Le informazioni sui prezzi di Application Insights sono ora visualizzate nella finestra di configurazione.
  • Gli eventi di disponibilità vengono ora visualizzati negli strumenti Ricerca e Tendenze.
  • Gli eventi negli strumenti Ricerca e Diagnostica mostrano ora i conteggi della frequenza con cui si sono verificati in base al campionamento adattivo nell'SDK.
  • CodeLens mostra le eccezioni che si sono verificate durante le sessioni di debug locale per i progetti con Application Insights SDK.
  • Nuovo design per la finestra di configurazione di Application Insights.
  • Per le eccezioni CodeLens dispone ora di un collegamento ad Analisi applicazione per verificare l'impatto di un'eccezione sugli utenti.
  • Quando si aggiunge Application Insights a un progetto, viene aggiunto Application Insights JavaScript SDK per la raccolta della telemetria delle visualizzazioni della pagina.
  • Quando si pubblicano app da Visual Studio, le annotazioni di pubblicazione vengono ora inviate alla risorsa Application Insights.
  • Per gli indicatori CodeLens rossi e gialli di Application Insights vengono ora visualizzati marcatori della barra di scorrimento.

Altre informazioni su Application Insights sono disponibili nella documentazione di Microsoft Azure.


Office Developer Tools per Visual Studio

Questa versione include Office Developer Tools con le funzionalità e gli aggiornamenti più recenti, come illustrato di seguito:

  • Nuovi modelli dei componenti aggiuntivi di Office specifici per Excel, Word, PowerPoint e Outlook.
  • Supporto per nuove funzionalità dei componenti aggiuntivi di Office, ad esempio comandi dei componenti aggiuntivi, interfaccia utente di Fabric e una nuova versione di Office.js.
  • Nuovo codice di avvio nei modelli che illustrano come eseguire le operazioni iniziali con le nuove funzionalità dei componenti aggiuntivi di Office.
  • Supporto di SharePoint 2016 in modelli dei componenti aggiuntivi e soluzioni di SharePoint.

Convalida delle dipendenze architetturali in tempo reale

In Visual Studio Enterprise, se sono configurati i diagrammi di convalida delle dipendenze (detti anche diagrammi di livello), si ottengono notifiche in tempo reale relative alla violazioni delle regole delle dipendenze dell'architettura durante la digitazione del codice nell'editor del codice. Gli errori vengono visualizzati nell'Elenco errori e le sottolineature ondulate nell'editor di testo mostrano la posizione esatta della violazione. In questo modo si riducono le probabilità di introdurre dipendenze indesiderate.

Live Architecture Dependency validation


Prompt dei comandi per gli sviluppatori

Gli script del prompt dei comandi per gli sviluppatori di Visual Studio 2017 sono stati sottoposti a refactoring in modo da supportare la nuova esperienza di installazione:

  • Le variabili di ambiente rifletteranno solo i carichi di lavoro installati.
  • Il collegamento Prompt dei comandi per gli sviluppatori di Visual Studio dovrebbe essere compatibile con le versioni precedenti.
  • È ora possibile configurare gli script del prompt dei comandi per gli sviluppatori tramite gli argomenti della riga di comando:
    • Per informazioni dettagliate, in un prompt dei comandi chiamare common7\tools\vsdevcmd.bat -help (dalla directory di installazione di Visual Studio).

Azure SDK per .NET

Azure SDK per .NET è ora disponibile per l'installazione con il nuovo programma di installazione di Visual Studio. Se Azure SDK per .NET è stato precedentemente installato usando l'Installazione guidata piattaforma Web, ora è possibile ottenere gli stessi componenti installando il carico di lavoro di Azure con il nuovo programma di installazione di Visual Studio. I pacchetti installati sono allo stesso livello di funzionalità della versione 2.9.5 dell'SDK. Per questa versione di Visual Studio e tutte le versioni future, Azure SDK per .NET sarà disponibile solo dal programma di installazione di Visual Studio.


Problemi noti

Di seguito sono illustrati i problemi noti e le soluzioni alternative disponibili per questa versione.


Problemi di installazione

Non è possibile installare Windows 10 SDK con codice restituito -2147023293

  • Problema:

    In alcune circostanze, non è possibile installare Windows SDK con codice restituito -2147023293. Il log dell'installazione dd_setup__errors.log conterrà un errore simile al seguente: Installazione del pacchetto 'Win10SDK_10.0.14393.795,version=10.0.14393.79501' non riuscita. (dettagli) Codice restituito: Dettagli codice restituito -2147023293: errore irreversibile durante l'installazione. Si noti che il nome esatto del pacchetto dipende dalla versione di Windows 10 SDK che si è scelto di installare.

  • Soluzione alternativa:

    Questo problema può avere diverse cause. Per risolverlo, seguire questa procedura:

    1. Installare Windows 10 SDK separatamente da Visual Studio. È possibile scaricare Windows 10 SDK dal Centro per sviluppatori Windows.
    2. In alcuni casi, quando si installa una versione di Windows precedente Windows 10, l'errore di installazione può dipendere da un runtime C universale mancante. È possibile eseguire l'installazione usando KB2999226 per il runtime 1507 di Windows 10 o KB3118401 per il runtime 1511 di Windows 10.
      Per altre informazioni, vedere il portale della community degli sviluppatori di Visual Studio.

Cloud Explorer non può essere avviato

  • Problema:

    Se Cloud Explorer viene installato con il carico di lavoro Sviluppo Web, è possibile che l'avvio di Cloud Explorer abbia esito negativo e venga visualizzato il messaggio "L'installazione non può continuare se Visual Studio è in esecuzione. Chiudere Visual Studio e riprovare". Il problema è causato da dipendenze mancanti.

  • Soluzione alternativa:

    Installare il carico di lavoro Sviluppo di Azure e quindi avviare di nuovo Cloud Explorer.

La disinstallazione di Windows 10 SDK di Visual Studio causa errori di compilazione UWP in Visual Studio 2017 o Visual Studio 2015

  • Problema:

    Se si disinstalla Windows 10 SDK, verrà visualizzato l'errore seguente durante la compilazione di un'app UWP:
    Cannot resolve 'GenXbf.dll' under path 'C:\Program Files\Windows Kits\10'. Please install the Windows Software Development Kit. The Windows 10 SDK is installed with Visual Studio.
    Questo problema interessa Visual Studio 2017, Visual Studio 2017 Preview e Visual Studio 2015. È possibile che nel computer venga attivato questo stato di errore se sono stati installati:

    • Visual Studio 2017 e Visual Studio 2017 Preview e successivamente uno dei due è stato disinstallato.
    • Visual Studio 2015 e Visual Studio 2017 o Visual Studio 2017 Preview e successivamente uno dei due è stato disinstallato.
    • Visual Studio 2017, Visual Studio 2017 Preview o Visual Studio 2015 e successivamente è stato disinstallato Windows 10 SDK direttamente da Programmi e funzionalità o usando il programma di installazione di Visual Studio.
  • Soluzione alternativa:

    Aprire il Pannello di controllo e passare a Programmi e funzionalità. Selezionare una delle opzioni seguenti e fare clic su Ripristina:

    • Windows Software Development Kit - Windows 10.0.15063.00 (Creators Update)
    • Windows Software Development Kit - Windows 10.0.14393.795 (aggiornamento dell'anniversario)

L'uso di una cartella di installazione offline quando non si è connessi a Internet non consente di installare l'emulatore di Windows

  • Problema:

    Quando si usa una cartella di installazione offline che include l'emulatore di Windows 10 Mobile (Creators Update) per installare Visual Studio senza una connessione a Internet, il programma di installazione di Visual Studio viene completato e restituisce il messaggio "Installazione completata con avviso" e l'emulatore di Windows non viene installato.

  • Soluzione alternativa:

    Installare l'emulatore di Windows 10 Mobile separatamente da Visual Studio.

    1. Aprire la cartella di installazione offline per Visual Studio e passare alla cartella "Win10_Emulator_10.0.15063,version=10.0.15063.12,chip=x64".
    2. Eseguire il file EmulatorSetup.exe per installare l'emulatore di Windows.
Se Visual Studio non è già stato installato, è possibile installare prima l'emulatore di Windows.
1. Installare l'emulatore di Windows seguendo le istruzioni riportate sopra.
2. Eseguire il programma di installazione di Visual Studio e il messaggio di avviso non verrà visualizzato.

Problemi dell'editor e dell'IDE

EditorConfig non è supportato nei file XML

  • Problema:

    Le convenzioni stilistiche per il codice definite in .editorconfig non vengono applicate quando si modifica il file XML.

  • Soluzione temporanea:

    Attualmente non esiste alcuna soluzione.

Le proprietà insert_final_newline e trim_trailing_whitespace di EditorConfig non sono supportate

  • Problema:

    Le proprietà insert_final_newline e trim_trailing_whitespace definite nel file .editorconfig non hanno alcun effetto.

  • Soluzione temporanea:

    Attualmente non esiste alcuna soluzione.

JavaScript IntelliSense smette di funzionare

  • Problema:

    Quando si apre un progetto con oltre 25 MB di codice JavaScript, viene visualizzato il messaggio di errore "Il servizio di linguaggio è disabilitato per il progetto '' perché è incluso un numero elevato di file con estensione js. Consider excluding files using 'exclude' section of a 'tsconfig.json' file." (Il servizio di linguaggio è disabilitato per il progetto 'X' perché questo include un numero elevato di file .js. È consigliabile escludere i file usando la sezione 'exclude' di un file 'tsconfig.json'.)

  • Soluzione alternativa:

    Aggiungere un file tsconfig.json alla radice del progetto con il codice seguente:

      {
          "compilerOptions": {
              "allowJs": true,            // These settings apply to .js files as well as .ts files
              "noEmit":  true             // Do not compile the JS (or TS) files in this project on build
          },
          "exclude": [
              "node_modules",             // Don't include any JavaScript found under "node_modules" or "bower_components"
              "bower_components"
          ]
      }
    

    Add additional folders with JavaScript code libraries. Another common one is Scripts/Office/1 if you're using office-js.

TypeScript non riconosciuto in progetti ASP.NET Core

  • Problema:

    I file TypeScript presenti nei progetti ASP.NET Core non dispongono di IntelliSense e non vengono compilati.

  • Soluzione alternativa:

    Aggiungere un file tsconfig.json vuoto alla radice del progetto.

Problemi di NuGet

Durante l'uso della console di Gestione pacchetti è possibile che il tasto 'INVIO' non funzioni

  • Problema:

    A volte, nella console di Gestione pacchetti il tasto INVIO non funziona. Se si riscontra questo problema, controllare lo stato di avanzamento della correzione e fornire altre informazioni utili sui passaggi per riprodurre la condizione di errore (NuGet#4204 e NuGet#4570).

  • Soluzione alternativa:

    Riavviare Visual Studio e aprire la console di Gestione pacchetti prima di aprire la soluzione. In alternativa, provare a eliminare il file project.lock.json e ripetere il ripristino.

Nei progetti .NET Core, quando si usa un pacchetto contenente un assembly con una firma non valida, si verifica un ciclo infinito di ripristino

  • Problema:

    A volte, quando si usa un pacchetto contenente un assembly con una firma non valida o quando la versione del pacchetto è impostata con il titolo 'DateTime', è possibile che il processo di ripristino automatico del pacchetto entri in un ciclo infinito (dotnet/project-system#1457).

  • Soluzione alternativa:

    Attualmente non esiste alcuna soluzione.

Non è possibile visualizzare, aggiungere o aggiornare DotNetCLITools usando Gestione pacchetti NuGet

  • Problema:

    Gestione pacchetti NuGet non visualizza e non consente l'aggiunta e/o l'aggiornamento di DotNetCLITools (NuGet#4256).

  • Soluzione alternativa:

    È necessario modificare manualmente DotNetCLIToolReferences nel file di progetto.

La ridestinazione della versione framework di destinazione può portare a informazioni Intellisense incomplete

  • Problema:

    Se in Visual Studio si ridefinisce la destinazione della versione framework di destinazione, le informazioni Intellisense possono risultare incomplete. Questo accade quando si usa PackageReferences come formato di gestione dei pacchetti (NuGet#4216).

  • Soluzione alternativa:

    Eseguire un ripristino manuale.

Problemi di Live Unit Testing

Live Unit Testing non funziona con progetti .NET Core

  • Problema:

    La funzionalità Live Unit Testing non è supportata con progetti .NET Core.

  • Soluzione temporanea:

    Attualmente non esiste alcuna soluzione.

Problemi noti degli strumenti Web

I progetti MVC4 non si connettono al database locale di SQL Server in fase di esecuzione

  • Problema:

    Quando si esegue un progetto MVC4 in Visual Studio, l'applicazione non riesce ad accedere al database se usa SQL Server Express LocalDB 2012. Questo problema si verifica perché i progetti MVC4 dipendono per impostazione predefinita da SQL Server Express LocalDB 2012, non installato con Visual Studio 2017.

  • Soluzione alternativa:

    Aggiornare il progetto all'uso di SQL Server Express LocalDB 2016 o scaricare e installare manualmente SQL Server Express LocalDB 2012 nel computer.

Problemi degli strumenti .NET Core

Per un elenco aggiornato dei problemi degli strumenti di .NET Core e ASP.NET Core, vedere la pagina di GitHub (Problemi noti di .NET Core e ASP.NET Core).

Problemi di Apri cartella

IntelliSense non è disponibile durante la modifica dei file launch.vs.json o tasks.vs.json

  • Problema:

    Quando si modifica un file launch.vs.json o tasks.vs.json, IntelliSense non è disponibile.

  • Soluzione alternativa:

    Installare il carico di lavoro "Sviluppo ASP.NET e Web".

Il refactoring di C# potrebbe produrre risultati incoerenti

  • Problema:

    Il refactoring del codice C# o Visual Basic può produrre risultati incoerenti in modalità Cartella.

  • Soluzione alternativa:

    Caricare progetti C# e Visual Basic in modalità Soluzione.

F10 non avvia il debugger in modalità Cartella

  • Problema:

    Il tasto di scelta rapida F10 non avvia il debugger in modalità Cartella.

  • Soluzione alternativa:

    Usare F5 o F11 e impostare un punto di interruzione nel punto di ingresso dell'applicazione.

Eventuali modifiche al file launch.vs.json non salvate possono andare perse

  • Problema:

    Eventuali modifiche al file launch.vs.json non salvate vengono perse se si seleziona "Impostazioni per debug e avvio" dal menu di scelta rapida.

  • Soluzione alternativa:

    Salvare le modifiche apportate a questo file prima di selezionare "Impostazioni per debug e avvio" dal menu di scelta rapida.

  • Problema:

    Se un file di progetto è stato modificato in modalità Cartella, il successivo ricaricamento di tale file in modalità Soluzione può non riuscire.

  • Soluzione alternativa:

    Provare a caricare di nuovo il progetto. Se questa operazione non risolve il problema, ricaricare la soluzione.

Problemi degli strumenti di test

L'individuazione ha esito negativo per i progetti UWP con UITestMethod creati in Visual Studio VS2017

  • Problema:

    L'individuazione ha esito negativo per i progetti UWP con metodi di test con l'attributo UITestMethod creati in Visual Studio VS2017.

  • Soluzione alternativa:

    Aggiornare il pacchetto MSTest.TestAdapter NuGet alla versione più recente (1.1.12).

L'esecuzione dei test da Visual Studio ha esito negativo quando un test ha un attributo DeploymentItem

  • Problema:

    I progetti di test creati in Visual Studio con test con un attributo DeploymentItem hanno esito negativo e generano un'eccezione FileNotFound.

  • Soluzione alternativa:

    Aggiungere il seguente DeploymentItem nel metodo di test contenente la classe di test: [DeploymentItem("Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll")]. Questo problema verrà risolto in una versione futura di MSTest.TestFramework e MSTest.TestAdapter.

La profilatura di un test da Visual Studio ha esito negativo con MissingMethodException

  • Problema:

    La profilatura di un metodo di test da Visual Studio non riesce e viene generata un'eccezione MissingMethodException.

  • Soluzione alternativa:

    Non esiste alcuna soluzione per questo problema.

Debug e diagnostica

Remote Tools per Visual Studio 2017 Preview non è disponibile

  • Problema:

    Non è disponibile un aggiornamento di Remote Tools per Visual Studio 2017 Preview.

  • Soluzione alternativa:

    Remote Tools per Visual Studio 2017 è compatibile con Visual Studio 2017 Preview. Tuttavia, se si vuole usare la versione di anteprima più recente del debugger remoto, vedere Run the remote debugger from a file share (Eseguire il debugger remoto da una condivisione file).

Problemi del Caricamento leggero soluzioni

Alcune estensioni potrebbero non comportarsi come previsto quando è abilitato il Caricamento leggero soluzioni

  • Problema:

    Alcune estensioni potrebbero non comportarsi come previsto quando è abilitato Caricamento leggero soluzioni.

  • Soluzione alternativa:

    Disattivare Caricamento leggero soluzioni e ricaricare la soluzione.

Modifica e continuazione non funziona quando è abilitato il caricamento leggero delle soluzioni

  • Problema:

    Modifica e continuazione potrebbe non funzionare come previsto quando è abilitato il caricamento leggero delle soluzioni.

  • Soluzione alternativa:

    Disabilitare Caricamento leggero soluzioni e ricaricare la soluzione prima di usare Modifica e continuazione.

I progetti F# non possono essere compilati o non supportano il passaggio ai simboli quando è abilitato Caricamento leggero soluzioni

  • Problema:

    Quando è abilitato il caricamento leggero delle soluzioni, è possibile che i progetti F# non vengano compilati correttamente e i simboli potrebbero non essere completamente disponibili in GoTo.

  • Soluzione alternativa:

    Disabilitare il caricamento leggero delle soluzioni per le soluzioni che contengono progetti F#.

Quando è abilitato Caricamento leggero soluzioni, gli avvisi vengono duplicati

  • Problema:

    Quando si compila una soluzione con Caricamento leggero soluzioni abilitato, gli avvisi del file di progetto generati dalla compilazione possono risultare duplicati in Elenco errori.

  • Soluzione alternativa:

    Disabilitare Caricamento leggero soluzioni e ricaricare la soluzione.

Problemi di estendibilità

Errore durante l'aggiunta di un comando personalizzato o una finestra degli strumenti personalizzata

  • Problema:

    Quando si tenta di aggiungere un comando personalizzato o una finestra degli strumenti personalizzata a un progetto che contiene un file XAML, è possibile che il comando personalizzato o la finestra degli strumenti personalizzata non venga aggiunto al progetto. Potrebbe anche essere visualizzato l'errore: "La sequenza contiene più elementi corrispondenti".

  • Soluzione alternativa:

    1. Chiudere tutti i file XAML aperti.
    2. Chiudere Visual Studio.
    3. Avviare Visual Studio e aprire il progetto.
    4. Aggiungere il comando personalizzato o la finestra degli strumenti personalizzata al progetto (prima di caricare un file XAML).

Problemi di Application Insights

Quando si fa clic con il pulsante destro del mouse su un progetto, il caricamento dei provider estendibili di Application Insights ha esito negativo

  • Problema:

    Quando si fa clic con il pulsante destro del mouse su un progetto in Visual Studio, il caricamento dei provider estendibili di Application Insights ha esito negativo. Il problema si verifica perché i provider estendibili caricano file binari da NuGet in un thread in background dopo il caricamento della soluzione. Alcuni provider estendibili, come quelli per PHP e Azure Service Fabric, sono già installati e non sono interessati da questo problema. Una correzione per il problema sarà disponibile, tramite un aggiornamento automatico, subito dopo il rilascio della versione iniziale di Visual Studio 2017.

  • Soluzione alternativa:

    Aprire un prompt dei comandi con privilegi amministrativi e quindi eseguire i comandi seguenti in base alla versione di Visual Studio installata:

    • Visual Studio Enterprise

      • "C:\Programmi (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VsRegEdit.exe" set "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise" HKCU AppInsightsGettingStarted UseBackgroundThreadToFetchProjectInfo string Disabled
    • Visual Studio Professional

      • "C:\Programmi (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VsRegEdit.exe" set "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional" HKCU AppInsightsGettingStarted UseBackgroundThreadToFetchProjectInfo string Disabled
    • Community di Visual Studio

      • "C:\Programmi (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VsRegEdit.exe" set "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community" HKCU AppInsightsGettingStarted UseBackgroundThreadToFetchProjectInfo string Disabled

In alcuni progetti ASP.NET Core non è possibile aggiungere il frammento JavaScript di Application Insights per la raccolta di visualizzazioni pagina

  • Problema:

    L'esecuzione di progetti ASP.NET Core configurati con Application Insights che non sono stati creati con Visual Studio 2017 ha esito negativo. Il tentativo di eseguire un'app di questo tipo genera l'errore "InvalidOperationException: No service of type 'Microsoft.ApplicationInsights.AspNetCore.JavascriptSnippet' has been registered." (InvalidOperationException: non è stato registrato alcun servizio di tipo 'Microsoft.ApplicationInsights.AspNetCore.JavascriptSnippet').

  • Soluzione alternativa:

    Dopo la configurazione con Application Insights, al file Views/Shared/_Layout.cshtml viene aggiunto un frammento JavaScript. Sono disponibili due soluzioni alternative, a seconda che si voglia o meno che Application Insights raccolga le visualizzazioni pagina dall'app:

    1. Raccogliere le visualizzazioni pagina - Aggiungere ".UseApplicationInsights()" a WebHostBuilder nel file Program.cs.
    2. Non raccogliere le visualizzazioni pagina - Eliminare le righe seguenti dal file Views/Shared/_Layout.cshtml:
      • @inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
      • @Html.Raw(JavaScriptSnippet.FullScript)

Problemi di Team Explorer

I comandi Git che modificano l'indice possono avere esito negativo se è presente un file index.lock orfano

  • Problema:

    Il problema era prima segnalato come comandi Git Annulla e Annulla preparazione per commit non riusciti. Se è presente un file index.lock orfano, l'esecuzione di un comando Git che modifica l'indice avrà esito negativo. Git usa questo file per indicare ad altri processi Git che il repository è bloccato per la modifica. Se il processo di modifica smette di rispondere o viene terminato, è possibile che il file index.lock venga ignorato impedendo ad altri processi Git la modifica del repository.

  • Soluzione alternativa:

    Quando si verifica questo problema, controllare nella cartella .git/ del repository l'eventuale presenza di un file index.lock. Se è presente un file di questo tipo, e non si sta eseguendo un comando Git, eliminare il file.

La clonazione tramite SSH ha esito negativo

  • Problema:

    La clonazione tramite SSH non riesce in Team Explorer. Una correzione per questo problema sarà disponibile in un aggiornamento futuro.

  • Soluzione alternativa:

    Se si vuole usare SSH, eseguire la clonazione dalla riga di comando e quindi aggiungere il repository all'elenco dei repository locali in Team Explorer. È anche possibile eseguire la clonazione tramite HTTP in Team Explorer e quindi impostare gli elementi remoti per l'uso di SSH selezionando Impostazioni > Impostazioni repository > Elementi remoti.

L'annullamento di comandi Git in Team Explorer non funziona

  • Problema:

    L'annullamento di un comando Git (ad esempio clone) in Team Explorer non funziona, mentre l'operazione viene completata. Questo problema non interessa altre operazioni di Team Explorer.

  • Soluzione alternativa:

    Attualmente non esiste alcuna soluzione.

Problemi di sviluppo relativi ai carichi di lavoro gestiti

I progetti .NET 2.0/3.0/3.5 generano assembly con destinazione non corretta

  • Problema:

    Dopo l'installazione di Visual Studio 2017 in un computer nuovo senza aver prima selezionato gli strumenti di sviluppo di .NET Framework 3.5 nella scheda Singoli componenti e la compilazione di un progetto .NET 2.0 (o 3.0/3.5), alcuni assembly (risorse) compilati vengono contrassegnati come .NET 4.0 anche se il progetto è destinato a .NET 2.0. Il problema si verifica perché Visual Studio 2017 non installa più .NET Framework 3.5 SDK per impostazione predefinita e, dal momento che l'SDK risulta mancante, il processo di compilazione usa per impostazione predefinita .NET 4.X SDK.

  • Soluzione alternativa:

    .NET 3.5 SDK è ora solo un componente facoltativo. Di conseguenza, se lo sviluppo è destinato a un prodotto .NET 3.5 (2.0/3.0/3.5), durante l'installazione sarà necessario selezionare anche "Strumenti di sviluppo per .NET Framework 3.5" nella scheda Singoli componenti. In questo modo, viene installato il componente .NET 3.5 SDK richiesto da usare durante il processo di compilazione.

Problemi del carico di lavoro Sviluppo di app per la piattaforma UWP (Universal Windows Platform)

La finestra di progettazione XAML non è disponibile

  • Problema:

    Durante lo sviluppo di un'app UWP, la finestra di progettazione XAML non è disponibile.

  • Soluzione alternativa:

    La finestra di progettazione XAML è disponibile solo se la versione della piattaforma di destinazione per l'app è uguale o precedente alla versione di Windows 10 in cui viene eseguito Visual Studio. Ad esempio, se si esegue Visual Studio in "Aggiornamento dell'anniversario di Windows 10 (build 14393)" e la versione della piattaforma di destinazione per l'app UWP è "Windows 10 Creators Update", la finestra di progettazione XAML non sarà disponibile per il progetto dell'app. Per assicurarsi che sia possibile usare la finestra di progettazione XAML, eseguire l'aggiornamento alla versione più recente di Windows 10.

Aggiornamento di Visual Studio richiesto all'apertura di un progetto UWP

  • Problema:

    Quando si apre un progetto in Visual Studio creato in Visual Studio 2017 Preview, è possibile che venga visualizzata la finestra di dialogo "Aggiornamento di Visual Studio richiesto" che richiede di installare l'SDK della piattaforma aggiornato. Il sito Web di archiviazione di Windows SDK del collegamento incluso nella finestra di dialogo non visualizza la versione specificata di Windows SDK.

  • Soluzione alternativa:

    Questo comportamento è previsto poiché Visual Studio 2017 Preview includeva una versione non definitiva di Windows SDK. Per risolvere il problema, nel file di progetto modificare la versione della piattaforma di destinazione impostandola sulla versione di Windows SDK che si vuole usare. Per Windows 10 Creators Update, la versione è "10.0.15063.0".

    1. Fare clic con il pulsante destro del mouse sul progetto e selezionare "Modifica [NomeApp].[xx]proj", dove [xx]proj è .csproj, .vcxproj e così via.
    2. Nel file di progetto nelle proprietà "TargetPlatformVersion" (per i progetti C#, VB e JS) o "WindowsTargetPlatformVersion" (per C++) modificare il valore in "10.0.15063.0" o nella versione di un altro SDK installato.

La disinstallazione di Windows 10 SDK di Visual Studio causa errori di compilazione UWP in Visual Studio 2017 o Visual Studio 2015

  • Problema:

    Se si disinstalla Windows 10 SDK, verrà visualizzato l'errore seguente durante la compilazione di un'app UWP:
    Cannot resolve 'GenXbf.dll' under path 'C:\Program Files\Windows Kits\10'. Please install the Windows Software Development Kit. The Windows 10 SDK is installed with Visual Studio.
    Questo problema interessa Visual Studio 2017, Visual Studio 2017 Preview e Visual Studio 2015. È possibile che nel computer venga attivato questo stato di errore se sono stati installati:

    • Visual Studio 2017 e Visual Studio 2017 Preview e successivamente uno dei due è stato disinstallato.
    • Visual Studio 2015 e Visual Studio 2017 o Visual Studio 2017 Preview e successivamente uno dei due è stato disinstallato.
    • Visual Studio 2017, Visual Studio 2017 Preview o Visual Studio 2015 e successivamente è stato disinstallato Windows 10 SDK direttamente da Programmi e funzionalità o usando il programma di installazione di Visual Studio.
  • Soluzione alternativa:

    Aprire il Pannello di controllo e passare a Programmi e funzionalità. Selezionare una delle opzioni seguenti e fare clic su Ripristina:

    • Windows Software Development Kit - Windows 10.0.15063.00 (Creators Update)
    • Windows Software Development Kit - Windows 10.0.14393.795 (aggiornamento dell'anniversario)

Alcuni controlli XAML non sono disponibili nella casella degli strumenti

  • Problema:

    Quando si usano controlli XAML installati da SDK di estensione, alcuni dei controlli della casella degli strumenti potrebbero non essere visibili.

  • Soluzione alternativa:

    Se si vuole usare questi controlli, è possibile aggiungerli manualmente nell'editor XAML.

Problemi noti delle applicazioni desktop di Visual C++

Impossibile compilare un nuovo progetto desktop Win32 di C++ creato dopo l'installazione di Windows 10 Creators Update SDK (10.0.15063.0)

  • Problema:

    Windows 10 Creators Update SDK è stato aggiornato per ridurre il footprint di installazione per impostazione predefinita. L'installazione di tale SDK attraverso il carico di lavoro UWP non installerà le intestazioni e le librerie per i progetti desktop Win32 di C++. I progetti desktop di Visual C++ rileveranno tuttavia tale SDK come se fosse installato e, per impostazione predefinita, proveranno a fare riferimento alla versione 10.0.15063.0 nei nuovi progetti.

  • Soluzione alternativa:

    Nel programma di installazione di Visual Studio:

  • Selezionare la funzione "Windows 10 SDK (10.0.15063.0) per app desktop C++ x86 e x64" nel carico di lavoro "Sviluppo di applicazioni desktop con C++".
  • In alternativa, è possibile scegliere una versione precedente dell'SDK, completamente installata nel sistema (ad esempio 10.0.14393.0), dalla finestra di dialogo Proprietà progetti.

Problemi di Xamarin

Compilazione annullata con errore: "Il progetto 'nome_progetto' richiede che i componenti seguenti siano installati nel computer"

  • Problema:

    La compilazione di applicazioni Android può richiedere l'installazione di componenti aggiuntivi. Questa richiesta potrebbe verificarsi in molte situazioni, ad esempio si sta usando un nuovo componente, un pacchetto NuGet, o se si sta compilando la prima soluzione Xamarin.Forms in un determinato computer.

  • Soluzione alternativa:

    • Assicurarsi che gli errori di Intellisense siano visibili nell'elenco. In questo modo, Xamarin per Visual Studio rileverà le risorse mancanti. Verrà visualizzato un messaggio di errore che indica le risorse da scaricare e installare. Fare doppio clic sull'errore nell'elenco per avviare il download e l'installazione dei componenti mancanti. È necessario che gli errori di Intellisense siano visibili nell'elenco, altrimenti non sarà possibile vedere tale errore. La compilazione verrà annullata se si prova a compilare qualsiasi progetto della soluzione senza installare i componenti mancanti.
    • Un modo alternativo per installare i componenti mancanti consiste nel compilare dalla riga di comando.

Altri problemi

Non è possibile connettersi a (LocalDB)\MSSQLLocalDB in computer x86

  • Problema:

    Si tratta di un noto problema intermittente di localDB 2014 per cui (LocalDB)\MSSQLLocalDB non può essere connesso in computer x86.

  • Soluzione alternativa:

    Eseguire i comandi seguenti dal prompt dei comandi:

    1. sqllocaldb stop mssqllocaldb.
    2. sqllocaldb delete mssqllocaldb.
    3. sqllocaldb start mssqllocaldb.

Non è possibile creare punti di interruzione di funzione nei flussi di lavoro di SharePoint

  • Problema:

    Il riquadro Punti di interruzione in Visual Studio ha precedentemente consentito la creazione dei punti di interruzione di tipo "Flusso di lavoro". Questa funzionalità è stata rimossa.

  • Soluzione temporanea:

    Creare punti di interruzione nella visualizzazione Progettazione usando il menu disponibile facendo clic con il pulsante destro del mouse.

Le attività del flusso di lavoro di SharePoint possono non essere caricate correttamente in Progettazione flussi di lavoro

  • Problema:

    Quando si crea un nuovo progetto per componente aggiuntivo o soluzione di SharePoint con un flusso di lavoro e le attività di SharePoint, è possibile che dopo la compilazione del progetto in Progettazione flussi di lavoro venga visualizzato l'errore seguente: "Impossibile caricare l'attività a causa di errori nell'XAML". Per impostazione predefinita, un nuovo progetto di componente aggiuntivo di SharePoint è destinato a .NET Framework 4.5.2. Per usare le attività di SharePoint in un flusso di lavoro, il progetto deve avere come destinazione .NET Framework 4.5.

  • Soluzione alternativa:

    1. Accedere alle proprietà del progetto dal menu di scelta rapida in Esplora soluzioni o tramite il menu Progetto.
    2. Nella scheda Applicazione impostare Framework di destinazione su .NET Framework 4.5.

Non è possibile compilare un progetto SharePoint con un flusso di lavoro quando vengono usati valori dinamici

  • Problema:

    La compilazione di un progetto SharePoint con un flusso di lavoro può avere esito negativo, con la visualizzazione dell'errore seguente: "Il tipo o il nome dello spazio dei nomi 'Activities' non esiste nello spazio dei nomi 'Microsoft'. Probabilmente manca un riferimento all'assembly".

  • Soluzione alternativa:

    1. Espandere il nodo del flusso di lavoro in Esplora soluzioni e visualizzare il codice per il file workflow.xaml nel progetto premendo F7. In alternativa, usare il menu di scelta rapida quando si seleziona il file in Esplora soluzioni.
    2. Aggiungere alla sezione il riferimento seguente: Microsoft.Activities.

La procedura guidata per la creazione di un progetto di componente aggiuntivo di SharePoint può non rilevare correttamente la versione di SharePoint a cui è destinato il progetto

  • Problema:

    Quando si crea un progetto di componente aggiuntivo di SharePoint, la finestra di dialogo Nuovo progetto tenta di rilevare la versione corretta di SharePoint in base all'URL del sito specificato. Tuttavia, se si usa anche Visual Studio 2015 o una versione precedente dei componenti client di SharePoint, è possibile che la finestra di dialogo Nuovo progetto stabilisca erroneamente che il progetto è destinato a SharePoint 2016 anziché a SharePoint Online.

  • Soluzione alternativa:

    Per i nuovi progetti, quando si crea un progetto di componente aggiuntivo di SharePoint, verificare che nell'ultima pagina della finestra di dialogo Nuovo progetto sia selezionata la versione corretta di SharePoint a cui è destinato il progetto. Per i progetti esistenti, è possibile modificare la versione di SharePoint a cui è destinato il progetto seguendo questa procedura:

    1. Accedere alle proprietà del progetto dal menu di scelta rapida in Esplora soluzioni o tramite il menu Progetto.
    2. Nella scheda SharePoint impostare Versione di destinazione di SharePoint sulla versione corretta di SharePoint a cui è destinato il progetto.

Il progetto di componente aggiuntivo Web di Office può contenere avvisi in Elenco errori

  • Problema:

    Il file _officeintellisense.js contiene una dichiarazione per un oggetto di Office in conflitto con un oggetto dichiarato nel file office.d.ts.

  • Soluzione alternativa:

    Questi avvisi non dovrebbero avere alcun impatto sul progetto. È comunque possibile rimuoverli impostando come commento la dichiarazione aggiuntiva "var Office" nel file Scripts\Office\ _officeintellisense.js o escludendo questo file dal progetto usando il menu di scelta rapida "Escludi dal progetto" in Esplora soluzioni.

.NET Targeting Pack non inclusi nel carico di lavoro Strumenti di sviluppo Web della SKU di Visual Studio Build Tools

  • Problema:

    Il carico di lavoro Strumenti di sviluppo Web nella SKU di Visual Studio Build Tools SKU non contiene alcun .NET Targeting Pack. Questo significa che i file binari .NET possono essere compilati soltanto con destinazione 4.6.

  • Soluzione alternativa:

    Scaricare e installare manualmente i .NET Targeting Pack da Microsoft nel computer di compilazione.

I file inclusi tramite criteri GLOB non vengono visualizzati in Esplora soluzioni se sono all'esterno della radice di un progetto

  • Problema:

    Per i progetti .NET Core e ASP.NET Core, qualsiasi file incluso tramite criteri GLOB verrà visualizzato in Esplora soluzioni solo se è incluso nella directory radice del progetto. Qualsiasi file all'esterno della directory radice del progetto non verrà visualizzato. L'attivazione di "Mostra tutti i file" non risolve il problema. Non sarà inoltre possibile raggiungere questi file tramite ricerca, Cerca nei file, Vai a o Vai a definizione.

  • Soluzione alternativa:

    Non esiste alcuna soluzione nota per visualizzare i file mancanti in Esplora soluzioni o passare a tali file. Tuttavia, la compilazione e il debug di questi progetti dovrebbe funzionare senza problemi. Nella maggior parte dei casi sarà possibile modificare questi file come di consueto aprendoli manualmente. Per il momento, è consigliabile usare file collegati individualmente anziché criteri GLOB esterni.

La SKU di VS Test Professional 2017 non include Team Explorer, limitando l'accesso a report basati su Excel/SSRS da TFS Warehouse/Cube

  • Il problema è stato corretto nella versione 15.1 (26403.00):

    L'installazione della SKU di VS Test Professional non include più l'installazione di VS Team Explorer, usato per l'accesso a report basati su Excel/SSRS da TFS Warehouse/Cube. Tale problema non ha alcun impatto sul client di Microsoft Test Manager (MTM): continuerà a funzionare senza problemi.