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.
.NET Runtime dan .NET SDK menambahkan fitur baru pada frekuensi yang berbeda. Secara umum, SDK diperbarui lebih sering daripada runtime. Artikel ini menjelaskan runtime dan nomor versi SDK.
.NET merilis versi utama baru setiap Bulan November. Rilis bernomor genap, seperti .NET 6 atau .NET 8, adalah rilis dukungan jangka panjang (LTS). Rilis LTS mendapatkan dukungan dan patch gratis selama tiga tahun. Rilis bernomor ganjil adalah rilis dukungan jangka standar (STS). Rilis dukungan jangka standar mendapatkan dukungan dan patch gratis selama dua tahun (dimulai dengan .NET 9).
Detail penerapan versi
.NET Runtime memiliki pendekatan major.minor.patch untuk penerapan versi yang mengikuti penerapan versi semantik.
.NET SDK, bagaimanapun, tidak mengikuti penerapan versi semantik. .NET SDK merilis lebih cepat, dan nomor versinya harus dapat mengomunikasikan runtime yang selaras serta rilis minor dan patch dari SDK itu sendiri.
Dua posisi pertama nomor versi .NET SDK cocok dengan versi .NET Runtime yang dirilisnya. Setiap versi SDK dapat membuat aplikasi untuk runtime ini atau versi yang lebih rendah.
Posisi ketiga nomor versi SDK mengomunikasikan baik nomor minor maupun patch. Versi minor dikalikan dengan 100. Dua digit terakhir mewakili nomor patch. Versi minor 1, versi patch 2 akan diwakili sebagai 102. Misalnya, berikut adalah urutan kemungkinan nomor versi runtime dan SDK:
| Ubah | Runtime .NET | .NET SDK (*) | Catatan |
|---|---|---|---|
| Rilis awal | 5.0.0 | 5.0.100 | Rilis awal. |
| Patch SDK | 5.0.0 | 5.0.101 | Runtime tidak berubah dengan patch SDK ini. Patch SDK meningkatkan digit terakhir dalam patch SDK. |
| Runtime dan patch SDK | 5.0.1 | 5.0.102 | Patch runtime meningkatkan nomor patch Runtime. Patch SDK meningkatkan digit terakhir dalam patch SDK. |
| Perubahan fitur SDK | 5.0.1 | 5.0.200 | Patch runtime tidak berubah. Fitur SDK baru meningkatkan digit pertama di patch SDK. |
| Patch waktu operasional | 5.0.2 | 5.0.200 | Patch runtime meningkatkan nomor patch Runtime. SDK tidak berubah. |
Dari tabel sebelumnya, Anda dapat melihat beberapa kebijakan:
- Runtime dan SDK memiliki versi utama dan minor yang sama. Dua angka pertama untuk SDK dan runtime tertentu harus cocok. Semua contoh sebelumnya adalah bagian dari aliran rilis .NET 5.0.
- Versi patch runtime hanya berubah ketika runtime diperbarui. Nomor patch SDK tidak diperbarui untuk patch runtime.
- Versi patch SDK hanya diperbarui saat SDK diperbarui. Mungkin saja patch runtime tidak memerlukan patch SDK.
CATATAN:
- Jika SDK memiliki 10 pembaruan fitur sebelum pembaruan fitur runtime, nomor versi bergulir ke seri 1000. Versi 5.0.1000 akan mengikuti versi 5.0.900. Situasi ini tidak diharapkan terjadi.
- Tidak akan ada 99 rilis patch tanpa rilis fitur. Jika rilis mendekati angka ini, hal itu mengharuskan rilis fitur.
Anda dapat melihat detail selengkapnya dalam proposal awal di repositori dotnet/designs .
Versi Semantik
Runtime .NET kira-kira mematuhi Semantic Versioning (SemVer), mengadopsi MAJOR.MINOR.PATCH penerapan versi, dan menggunakan berbagai bagian dari nomor versi untuk menggambarkan derajat dan jenis perubahan.
MAJOR.MINOR.PATCH[-PRERELEASE-BUILDNUMBER]
Bagian opsional PRERELEASE dan BUILDNUMBER tidak pernah menjadi bagian dari rilis yang didukung dan hanya ada pada build harian, build lokal dari target sumber, dan rilis pratinjau yang tidak didukung.
Perubahan nomor versi runtime
MAJORbertambah setahun sekali dan mungkin berisi:- Perubahan signifikan dalam produk, atau arah produk baru.
- API memperkenalkan perubahan signifikan. Ada standar tinggi untuk menerima perubahan besar.
- Versi
MAJORyang lebih baru dari dependensi yang ada diadopsi.
Rilis utama terjadi setahun sekali, versi bernomor genap adalah rilis dengan dukungan jangka panjang (LTS). Rilis LTS pertama yang menggunakan skema penerapan versi ini adalah .NET 6. Versi non-LTS terbaru adalah .NET 9.
MINORdinaikkan ketika:- Lingkup API publik telah ditambahkan.
- Perilaku baru ditambahkan.
- Versi
MINORyang lebih baru dari dependensi yang ada diadopsi. - Dependensi baru diperkenalkan.
PATCHdinaikkan ketika:- Perbaikan bug telah dilakukan.
- Dukungan untuk platform yang lebih baru ditambahkan.
- Versi
PATCHyang lebih baru dari dependensi yang ada diadopsi. - Perubahan lain tidak sesuai dengan salah satu kasus sebelumnya.
Ketika ada beberapa perubahan, elemen tertinggi yang dipengaruhi oleh perubahan individual akan ditambahkan nilainya, dan elemen-elemen berikutnya akan dikembalikan ke nol. Misalnya, ketika MAJOR ditingkatkan, MINOR.PATCH diatur ulang ke nol. Ketika MINOR ditingkatkan, PATCH direset ke nol sedangkan MAJOR tetap sama.
Nomor versi dalam nama file
File yang diunduh untuk .NET membawa versi, misalnya, dotnet-sdk-5.0.301-win-x64.exe.
Versi pratinjau
Versi pratinjau memiliki -preview.[number].[build] yang ditambahkan pada nomor versi. Contohnya, 6.0.0-preview.5.21302.13.
Versi pemeliharaan
Setelah rilis dilakukan, cabang rilis umumnya berhenti memproduksi build harian dan sebaliknya mulai memproduksi build pemeliharaan. Versi layanan memiliki -servicing-[number] yang ditambahkan ke nomornya. Contohnya, 5.0.1-servicing-006924.
Kompatibilitas Runtime .NET
Runtime .NET mempertahankan tingkat kompatibilitas yang tinggi antar versi. Aplikasi .NET sebaiknya, secara umum, tetap berfungsi setelah ditingkatkan ke versi .NET Runtime utama yang baru.
Setiap versi .NET Runtime utama berisi perubahan yang disengaja, diperiksa dengan hati-hati, dan didokumenkan. Perubahan besar yang didokumentasikan bukanlah satu-satunya sumber masalah yang dapat mempengaruhi aplikasi setelah peningkatan. Misalnya, peningkatan performa di .NET Runtime (yang tidak dianggap sebagai perubahan yang merusak kompatibilitas) dapat mengekspos bug utas pengolahan aplikasi yang tersembunyi yang menyebabkan aplikasi tidak berfungsi pada versi tersebut. Aplikasi besar diharapkan memerlukan beberapa perbaikan setelah meningkatkan ke versi utama .NET Runtime baru.
Secara default, aplikasi .NET dikonfigurasi untuk berjalan pada versi utama .NET Runtime tertentu, sehingga kompilasi ulang sangat disarankan untuk meningkatkan aplikasi agar berjalan pada versi utama .NET Runtime baru. Kemudian coba lagi aplikasi setelah meningkatkan untuk mengidentifikasi masalah apa pun.
Misalkan peningkatan melalui kompilasi ulang aplikasi tidak memungkinkan. Dalam hal ini, .NET Runtime menyediakan pengaturan tambahan untuk memungkinkan aplikasi berjalan pada versi .NET Runtime utama yang lebih tinggi daripada versi yang dikompilasinya. Pengaturan ini tidak mengubah risiko yang terlibat dalam peningkatan aplikasi ke versi .NET Runtime utama yang lebih tinggi, dan masih diperlukan untuk mencoba kembali peningkatan pasca aplikasi.
Runtime .NET mendukung pemuatan pustaka yang menargetkan versi Runtime .NET terdahulu. Aplikasi yang ditingkatkan ke versi utama Runtime .NET yang lebih baru dapat mengacu pada pustaka dan paket NuGet yang menargetkan versi Runtime .NET yang lebih lama. Tidak perlu secara bersamaan memperbarui versi runtime target untuk semua pustaka dan paket NuGet yang direferensikan oleh aplikasi.