Come usare C # 7 con Visual Studio 2015?


147

Visual Studio 2017 (15.x) supporta C # 7, ma per quanto riguarda Visual Studio 2015 (14.x)?

Come posso usare C # 7 con esso?



8
@SunilKumar: li sta abilitando in VS 15 (che è VS 2017). Non menziona VS 2015 (che è VS 14) da nessuna parte.
Jon Skeet,

Risposte:


162

È possibile sostituire il compilatore fornito con Visual Studio per una versione abilitata per C # 7 installando il pacchetto Nuget Microsoft.Net.Compilers :

Facendo riferimento a questo pacchetto, il progetto verrà creato utilizzando la versione specifica dei compilatori C # e Visual Basic contenuti nel pacchetto, al contrario di qualsiasi versione installata sul sistema.

Non ci sono indicazioni che posso vedere sulla pagina del pacchetto se questo è ufficialmente supportato in Visual Studio 2015. I miei test non approfonditi finora indicano che funziona ma non indolore: il codice C # 7 viene compilato, ma è sottolineato con il rosso linea ondulata che indica un errore di sintassi: Immagine dello schermoNota che dovrai anche installare il pacchetto Nuget System.ValueTuple per usare le nuove funzionalità di tuple di valore C # 7.


9
In tal caso sarebbe meglio usare VIsual Studio Code, o semplicemente installare Visual Studio 2017 Community
Panagiotis Kanavos

3
Questa è una buona cosa da sapere Quindi puoi lentamente passare alcuni progetti a VS2017 sapendo che in caso di emergenza altri sviluppatori possono lavorare con il tuo codice.
ect

10
Nota, mentre concordo in teoria con @PanagiotisKanavos se il tuo dipendente di una media o grande azienda VS2017 Community Edition non è probabilmente valido per essere utilizzato come licenziatario. Credo che VS Code sia vero FOSS.
Chris Marisic,

6
Ho installato il nuget Microsoft.Net.Compilers più recente sui miei progetti Xamarin.Forms UWP, Windows 8.1 e Windows Phone 8.1, nonché l'ultimo nuget System.ValueTuple (più l'ultima revisione di tutti gli altri sistemi. * Nuget serie) . Tutto sembra funzionare bene nella build e nel runtime. (Non ho provato ogni angolo del set di funzionalità del debugger.)
Optikos,

13
VS2015.3, compilando per .NET 4.7.1: Microsoft.Net.Compilers is only supported on MSBuild v15.0 and above- Ho dovuto usare questa versione: nuget.org/packages/Microsoft.Net.Compilers/2.4.0 per costruirlo, quindi ha funzionato bene. :)
Bloke CAD

5

Nel mio caso, l'installazione dei soli compilatori Microsoft.Net non ha funzionato. Invece, ho dovuto fare quanto segue:

  1. Installa Microsoft.CodeDom.Providers.DotNetCompilerPlatform per il progetto ( Strumenti => Gestione pacchetti NuGet => Gestisci pacchetti Nuget per soluzione ... ) e installa Microsoft.CodeDom.Providers.DotNetCompilerPlatform .
  2. Installa i compilatori Microsoft.Net più recenti per il progetto
  3. Installa qualsiasi altro pacchetto NuGet per l'ultima funzionalità C # che desideri utilizzare. Nel mio caso, il mio obiettivo era usare Tuples, quindi ho installato System.ValueTuple e ho funzionato bene.

Tuttavia, tieni presente che i codici C # che non sono conosciuti dal compilatore predefinito di Visual Studio 2015 avranno ancora dei quadratini rossi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.