Visual Studio 2015 ile C # 7 nasıl kullanılır?


151

Visual Studio 2017 (15.x) C # 7'yi destekler, ancak ya Visual Studio 2015 (14.x)?

C # 7 ile nasıl kullanabilirim?


2
bu bağlantıya bakın: strathweb.com/2016/03/…
Sunil Kumar

8
@SunilKumar: Bu onları VS 15'te etkinleştiriyor (VS 2017). Herhangi bir yerde VS 2015'ten (VS 14) bahsetmiyor.
Jon Skeet

Yanıtlar:


165

Microsoft.Net.Compilers Nuget paketini yükleyerek, C # 7 özellikli bir sürüm için Visual Studio ile birlikte gönderilen derleyiciyi değiştirebilirsiniz :

Bu pakete başvurmak, projenin yüklü olan herhangi bir sistem sürümünün aksine, pakette bulunan C # ve Visual Basic derleyicilerinin belirli bir sürümü kullanılarak oluşturulmasına neden olacaktır.

Paket sayfasında bunun Visual Studio 2015'te resmi olarak desteklenip desteklenmediğine dair bir gösterge yok. Şimdiye kadarki kapsamlı olmayan testlerim bunun çalıştığını ancak zahmetsizce olmadığını gösteriyor - C # 7 kodu derleniyor, ancak kırmızı ile altı çiziliyor sözdizimi hatası gösterir kırık çizgi: Ekran görüntüsüAyrıca Nuget paketi yüklemeye ihtiyaç duyacağı Not System.ValueTuple yeni Cı veren 7. tuples özellikleri kullanmak için.


10
Bu durumda, VIsual Studio Code kullanmak veya Visual Studio 2017 Community'yi kurmak daha iyi olur
Panagiotis Kanavos

4
Bu bilmek güzel bir şey. Böylece , acil durumlarda diğer geliştiricilerin kodunuzla çalışabileceğini bilerek yavaşça bazı projeleri VS2017'ye geçirebilirsiniz .
ecth

11
Teorik olarak @PanagiotisKanavos ile aynı fikirde olsam da, orta veya büyük bir şirket VS2017 Community Edition çalışanınızın bir lisans sahibi olarak kullanılması büyük olasılıkla geçerli değilse. VS Code'un gerçek FOSS olduğuna inanıyorum.
Chris Marisic

7
En son Microsoft.Net.Compilers nuget'ini Xamarin.Forms UWP, Windows 8.1 ve Windows Phone 8.1 projelerime ve ayrıca en son System.ValueTuple nuget (artı tüm diğer System. * Serisi nuget'lerin en son revizyonunu) yükledim . Derleme ve çalışma zamanında her şey düzgün çalışıyor gibi görünüyor. (Hata ayıklayıcının özellik setinin her
köşesini ve köşelerini denemedim

14
VS2015.3, .NET 4.7.1 için derleniyor: Microsoft.Net.Compilers is only supported on MSBuild v15.0 and above- Bu sürümü kullanmam gerekiyordu: nuget.org/packages/Microsoft.Net.Compilers/2.4.0 , onu oluşturmak için, sonra iyi çalıştı. :)
CAD bloke

6

Benim durumumda, yalnızca Microsoft.Net.Compilers'ı yüklemek işe yaramadı. Bunun yerine aşağıdakileri yapmam gerekiyordu:

  1. Proje için Microsoft.CodeDom.Providers.DotNetCompilerPlatform'u kurun ( Araçlar => NuGet Paket Yöneticisi => Çözüm için Nuget Paketlerini Yönet ... ) ve Microsoft.CodeDom.Providers.DotNetCompilerPlatform'u kurun .
  2. Proje için en son Microsoft.Net.Compilers'ı yükleyin
  3. Kullanmak istediğiniz en son C # özelliği için başka bir NuGet paketini yükleyin. Benim durumumda amacım Tuples kullanmaktı, bu yüzden System.ValueTuple'ı kurdum ve iyi çalıştım.

Ancak yine de, Visual Studio 2015 varsayılan derleyicisi tarafından bilinmeyen C # kodlarının altında hala kırmızı dalgalı çizgiler olacağını unutmayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.