Aracılığıyla paylaş


C# dil sürümünü yapılandırma

Uyarı

öğesinin LangVersion olarak latest ayarlanması önerilmez. ayarı, latest yüklenen derleyicinin en son sürümünü kullandığı anlamına gelir. Bu, makineden makineye değişerek derlemeleri güvenilir hale getiremez. Buna ek olarak, geçerli SDK'da yer almamış çalışma zamanı veya kitaplık özellikleri gerektirebilecek dil özelliklerini etkinleştirir.

C# sürümünüzü açıkça belirtmeniz gerekiyorsa, bunu çeşitli yollarla yapabilirsiniz:

İpucu

Visual Studio'daki dil sürümünü proje özellikleri sayfasında görebilirsiniz. Oluştur sekmesinin altında Gelişmiş bölmesi seçili sürümü görüntüler.

Şu anda hangi dil sürümünü kullandığınızı öğrenmek için kodunuza (büyük/küçük harfe duyarlı) yerleştirin #error version . Bu, derleyicinin kullanılan derleyici sürümünü ve seçili geçerli dil sürümünü içeren bir iletiyle birlikte CS8304 derleyici hatası bildirmesini sağlar. Daha fazla bilgi için bkz. #error (C# Başvurusu).

Visual Studio'da neden farklı bir C# sürümü seçemiyoruz?

Visual Studio'da, varsayılan sürüm projenin hedef çerçevesiyle (TFM ) uyumlu olduğundan, kullanıcı arabirimi aracılığıyla dil sürümünü değiştirme seçeneği devre dışı bırakılabilir. Bu varsayılan yapılandırma, dil özellikleri ve çalışma zamanı desteği arasında uyumluluk sağlar.

Örneğin, hedef TFM (örneğin, .NET 6'den .NET 9) değiştirerek dil sürümü C# 10'dan C# 13'e uygun şekilde güncelleştirilir. Bu yaklaşım çalışma zamanı uyumluluğuyla ilgili sorunları önler ve desteklenmeyen dil özellikleri nedeniyle beklenmeyen derleme hatalarını en aza indirir.

Otomatik olarak seçilenden farklı belirli bir dil sürümüne ihtiyacınız varsa, varsayılan ayarları doğrudan proje dosyasında geçersiz kılmak için aşağıdaki yöntemlere bakın.

Proje dosyasını düzenleme

Proje dosyanızda dil sürümünü ayarlayabilirsiniz. Örneğin, önizleme özelliklerine açıkça erişmek istiyorsanız aşağıdakine benzer bir öğe ekleyin:

<PropertyGroup>
   <LangVersion>preview</LangVersion>
</PropertyGroup>

değeri preview , derleyicinizin desteklediği en son kullanılabilir önizleme C# dil sürümünü kullanır.

Birden çok proje yapılandırma

Birden çok proje yapılandırmak için, genellikle çözüm dizininizde öğesini içeren bir <LangVersion> dosyası oluşturabilirsiniz. Directory.Build.props dosyasına aşağıdaki ayarı ekleyin:

<Project>
 <PropertyGroup>
   <LangVersion>preview</LangVersion>
 </PropertyGroup>
</Project>

Bu dosyayı içeren dizinin tüm alt dizinlerindeki derlemeler artık önizleme C# sürümünü kullanıyor. Daha fazla bilgi için bkz . Derlemenizi özelleştirme.

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

Önemli

Hedef TFM'nizle ilişkilendirilmiş sürümden daha yeni bir C# dil sürümünün kullanılması desteklenmez.

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.