Aracılığıyla paylaş


C# dili sürüm oluşturma

En son C# derleyicisi, projenizin hedef çerçevesini veya çerçevelerini temel alan varsayılan bir dil sürümünü belirler. Visual Studio değeri değiştirmek için bir kullanıcı arabirimi sağlamaz, ancak csproj dosyasını düzenleyerek bunu değiştirebilirsiniz. Varsayılan seçenek, hedef çerçevenizle uyumlu en son dil sürümünü kullanmanızı sağlar. Projenizin hedefiyle uyumlu en son dil özelliklerine erişim elde edebilirsiniz. Bu varsayılan seçenek, hedef çerçevenizde kullanılabilir olmayan türler veya çalışma zamanı davranışı gerektiren bir dil kullanmamanızı da sağlar. Varsayılandan daha yeni bir dil sürümü seçmek, derleme zamanı ve çalışma zamanı hatalarını tanılamanın zor olmasına neden olabilir.

C# 13 yalnızca .NET 9 ve daha yeni sürümlerde desteklenir. C# 12 yalnızca .NET 8 ve daha yeni sürümlerde desteklenir. C# 11 yalnızca .NET 7 ve daha yeni sürümlerde desteklenir.

.NET sürümlerinin Visual Studio sürümleri tarafından desteklendiği ayrıntılar için Visual Studio platform uyumluluk sayfasına bakın. C# sürümleriyle Mono uyumluluğu için Mono sayfasında C# olup olmadığını denetleyin.

Defaults

Derleyici, şu kurallara göre bir varsayılan belirler:

Hedef Sürüm Varsayılan C# dil sürümü
.NET 9.x C# 13
.NET 8.x C# 12
.NET 7.x C# 11
.NET 6.x C# 10
.NET 5.x C# 9.0
.NET Core 3.x C# 8.0
.NET Core 2.x C# 7.3
.NET Standard 2.1 C# 8.0
.NET Standard 2.0 C# 7.3
.NET Standard 1.x C# 7.3
.NET Framework tümü C# 7.3

Projeniz ilgili önizleme dili sürümüne sahip bir preview çerçeveyi hedeflediyse, kullanılan dil sürümü önizleme dili sürümüdür. Yayımlanan bir .NET Core sürümünü hedefleyen projeleri etkilemeden, herhangi bir ortamda bu önizlemeyle en son özellikleri kullanırsınız.

C# dil sürümü başvurusu

Aşağıdaki tabloda tüm geçerli C# dil sürümleri gösterilmektedir. Eski derleyiciler her değeri anlamayabilir. En son .NET SDK'sını yüklerseniz, listelenen her şeye erişebilirsiniz.

Değer Anlamı
preview Derleyici, en son önizleme sürümündeki tüm geçerli dil söz dizimini kabul eder.
latest Derleyici, derleyicinin en son yayımlanan sürümünden (ikincil sürüm dahil) söz dizimini kabul eder.
latestMajor
veya default
Derleyici, derleyicinin en son yayımlanan ana sürümünden söz dizimini kabul eder.
13.0 Derleyici yalnızca C# 13 veya daha düşük bir sürümde bulunan söz dizimini kabul eder.
12.0 Derleyici yalnızca C# 12 veya daha düşük bir sürümde yer alan söz dizimini kabul eder.
11.0 Derleyici yalnızca C# 11 veya daha düşük bir sürümde yer alan söz dizimini kabul eder.
10.0 Derleyici yalnızca C# 10 veya daha düşük bir sürümde yer alan söz dizimini kabul eder.
9.0 Derleyici yalnızca C# 9 veya daha düşük bir sürümde yer alan söz dizimini kabul eder.
8.0 Derleyici yalnızca C# 8.0 veya daha düşük bir sürümde yer alan söz dizimini kabul eder.
7.3 Derleyici yalnızca C# 7.3 veya daha düşük bir sürümde yer alan söz dizimini kabul eder.
7.2 Derleyici yalnızca C# 7.2 veya daha düşük bir sürümde yer alan söz dizimini kabul eder.
7.1 Derleyici yalnızca C# 7.1 veya daha düşük bir sürüme dahil edilen söz dizimini kabul eder.
7 Derleyici yalnızca C# 7.0 veya daha düşük bir sürüme dahil edilen söz dizimini kabul eder.
6 Derleyici yalnızca C# 6.0 veya daha düşük bir sürüme dahil edilen söz dizimini kabul eder.
5 Derleyici yalnızca C# 5.0 veya daha düşük bir sürüme dahil edilen söz dizimini kabul eder.
4 Derleyici yalnızca C# 4.0 veya daha düşük bir sürüme dahil edilen söz dizimini kabul eder.
3 Derleyici yalnızca C# 3.0 veya daha düşük bir sürümde yer alan söz dizimini kabul eder.
ISO-2
veya 2
Derleyici yalnızca ISO/IEC 23270:2006 C# (2.0) içinde yer alan söz dizimini kabul eder.
ISO-1
veya 1
Derleyici yalnızca ISO/IEC 23270:2003 C# (1.0/1.2) içinde yer alan söz dizimini kabul eder.

Not

Değerle LangVersion belirtilmesi default , LangVersion seçeneğinin atlanmasından farklıdır. Belirtme, default hedef çerçeveyi hesaba katmadan derleyicinin desteklediği dilin en son sürümünü kullanır. Örneğin, Visual Studio 2022'nin geçerli sürümünden .NET 6'yı hedefleyen bir proje oluştururken, LangVersion belirtilmezse C# 10 kullanılır ancak LangVersion olarak ayarlanırsa defaultC# 12 kullanılır.