Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Informasi dalam artikel ini berlaku untuk .NET 5 ke atas. Untuk proyek UWP, lihat informasi ini dalam artikel tentang Memilih versi UWP.
Di Visual Studio, opsi untuk mengubah versi bahasa melalui UI dinonaktifkan karena versi default selaras dengan kerangka kerja target proyek (TFM). Konfigurasi default ini memastikan kompatibilitas antara fitur bahasa dan dukungan runtime. Untuk mengubah versi bahasa di Visual Studio, ubah kerangka kerja target proyek.
Misalnya, dengan mengubah target TFM, seperti dari .NET 6 menjadi .NET 9, akan memperbarui versi bahasanya secara otomatis, dari C# 10 ke C# 13. Pendekatan ini mencegah masalah dengan kompatibilitas runtime dan meminimalkan kesalahan build yang tidak terduga karena fitur bahasa yang tidak didukung.
Jika Anda memerlukan versi bahasa tertentu yang berbeda dari versi yang dipilih secara otomatis, lihat metode dalam artikel ini untuk mengambil alih pengaturan default langsung dalam file proyek.
Peringatan
Mengatur elemen LangVersion menjadi latest tidak disarankan. Pengaturan latest ini berarti pengkompilasi yang diinstal menggunakan versi terbaru. Nilai latest dapat berubah dari komputer ke mesin, membuat build tidak dapat diandalkan. Selain itu, ini memungkinkan penggunaan fitur bahasa yang mungkin memerlukan runtime atau pustaka tambahan yang tidak tersedia dalam SDK saat ini.
Jika Anda harus menentukan versi C# Anda secara eksplisit, Anda dapat melakukannya dengan beberapa cara:
- Edit file proyek secara manual.
- Atur versi bahasa untuk beberapa proyek dalam subdirektori.
- Konfigurasikan opsi pengompilasi LangVersion.
Petunjuk
Anda dapat melihat versi bahasa pemrogram di Visual Studio di halaman properti proyek. Di bawah tab Build, panel Tingkat Lanjut menampilkan versi yang dipilih.
Untuk mengetahui versi bahasa pemrogram apa yang saat ini Anda gunakan, masukkan #error version (peka huruf besar/kecil) dalam kode Anda. Pragma ini membuat kompilator melaporkan kesalahan pengkompilasi, CS8304, dengan pesan yang berisi versi kompilator dan versi bahasa yang dipilih saat ini. Untuk informasi selengkapnya tentang pragma ini, lihat #error (Referensi C#).
Mengedit file proyek
Anda dapat mengatur versi bahasa pemrogram dalam file proyek Anda. File proyek adalah *.csproj file di folder akar untuk proyek Anda. Misalnya, jika Anda secara eksplisit menginginkan akses ke fitur pratinjau, tambahkan elemen seperti contoh berikut:
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
Nilai preview menggunakan versi bahasa C# pratinjau terbaru yang tersedia yang didukung pengkompilasi Anda.
Mengonfigurasi beberapa proyek
Untuk mengonfigurasi beberapa proyek C#, Anda dapat membuat file Directory.Build.props, biasanya di direktori solusi Anda, yang berisi elemen <LangVersion>. Tambahkan pengaturan berikut ke file Directory.Build.props :
<Project>
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
</Project>
Pembuatan di semua subdirektori dari direktori yang berisi file tersebut sekarang menggunakan C# versi pratinjau. Untuk informasi selengkapnya, lihat Kustomisasi build Anda.
Nota
Versi untuk C# dan VB berbeda. Jangan gunakan file Directory.Build.Props untuk folder tempat subdirektori berisi proyek untuk kedua bahasa. Versi tidak cocok.
Referensi versi bahasa pemrogram C#
Penting
Menggunakan versi bahasa C# yang lebih baru dari versi yang terkait dengan TFM target Anda tidak didukung.
Tabel berikut ini memperlihatkan semua versi bahasa pemrogram C# saat ini. Pengkompilasi yang lebih lama mungkin tidak memahami setiap nilai. Jika Anda menginstal .NET SDK terbaru, Anda memiliki akses ke semua yang tercantum.
| Nilai | Makna |
|---|---|
preview |
Kompilator menerima semua sintaks bahasa yang valid dari versi pratinjau terbaru. |
latest |
Kompilator menerima sintaks dari versi kompilator terbaru yang dirilis (termasuk versi minor). |
latestMajoratau default |
Kompilator menerima sintaks dari versi utama kompilator terbaru yang dirilis. |
14.0 |
Pengkompilasi hanya menerima sintaksis yang disertakan dalam C# 14 atau yang lebih rendah. |
13.0 |
Pengkompilasi hanya menerima sintaksis yang disertakan dalam C# 13 atau yang lebih rendah. |
12.0 |
Pengkompilasi hanya menerima sintaksis yang disertakan dalam C# 12 atau yang lebih rendah. |
11.0 |
Pengkompilasi hanya menerima sintaksis yang disertakan dalam C# 11 atau yang lebih rendah. |
10.0 |
Kompilator hanya menerima sintaks yang disertakan dalam C# 10 atau lebih rendah. |
9.0 |
Kompilator hanya menerima sintaks yang disertakan dalam C# 9 atau lebih rendah. |
8.0 |
Kompilator hanya menerima sintaks yang disertakan dalam C# 8.0 atau lebih rendah. |
7.3 |
Kompilator hanya menerima sintaks yang disertakan dalam C# 7.3 atau lebih rendah. |
7.2 |
Kompilator hanya menerima sintaks yang disertakan dalam C# 7.2 atau lebih rendah. |
7.1 |
Kompilator hanya menerima sintaks yang disertakan dalam C# 7.1 atau lebih rendah. |
7 |
Kompilator hanya menerima sintaks yang disertakan dalam C# 7.0 atau lebih rendah. |
6 |
Kompilator hanya menerima sintaks yang disertakan dalam C# 6.0 atau lebih rendah. |
5 |
Kompilator hanya menerima sintaks yang disertakan dalam C# 5.0 atau lebih rendah. |
4 |
Kompilator hanya menerima sintaks yang disertakan dalam C# 4.0 atau lebih rendah. |
3 |
Kompilator hanya menerima sintaks yang disertakan dalam C# 3.0 atau lebih rendah. |
ISO-2atau 2 |
Kompilator hanya menerima sintaks yang disertakan dalam ISO/IEC 23270:2006 C# (2.0). |
ISO-1atau 1 |
Kompilator hanya menerima sintaks yang disertakan dalam ISO/IEC 23270:2003 C# (1.0/1.2). |