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:
- Proje dosyasını el ile düzenleyin.
- Bir alt dizindeki birden çok proje için dil sürümünü ayarlayın.
- LangVersion derleyicisi seçeneğini yapılandırın.
İ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. |