Omówienie sposobu wersjonarów programu .NET
Środowisko uruchomieniowe .NET i zestaw .NET SDK dodają nowe funkcje z różnymi częstotliwościami. Ogólnie rzecz biorąc, zestaw SDK jest aktualizowany częściej niż środowisko uruchomieniowe. W tym artykule wyjaśniono numery wersji środowiska uruchomieniowego i zestawu SDK.
W listopadzie program .NET wydaje nową wersję główną. Wersje z liczbą równomierną, takie jak .NET 6 lub .NET 8, są obsługiwane długoterminowo (LTS). Wydania o nieparzystych numerach są obsługiwane do następnej wersji głównych. Najnowsza wersja .NET to .NET 6.
Szczegóły wersji
Środowisko uruchomieniowe .NET ma podejście major.minor.patch do obsługi wersji, które jest oparte na semantycznych wersjach.
Zestaw SDK platformy .NET nie jest jednak zgodne z semantyczną wersją. Zestaw SDK platformy .NET jest zwalniany szybciej, a jego numery wersji muszą komunikować się zarówno z dostosowanym środowiskiem uruchomieniowym, jak i z własnymi wersjami pomocniczym i poprawkami zestawu SDK.
Pierwsze dwie pozycje numeru wersji zestawu .NET SDK są zgodne z wersją środowiska uruchomieniowego platformy .NET, z która została wydana. Każda wersja zestawu SDK może tworzyć aplikacje dla tego środowiska uruchomieniowego lub dowolnej niższej wersji.
Trzecia pozycja numeru wersji zestawu SDK zawiera zarówno numer pomocniczy, jak i numer poprawki. Wersja pomocnicza jest mnożona przez 100. Ostatnie dwie cyfry reprezentują numer poprawki. Wersja pomocnicza 1, wersja poprawki 2 zostałaby reprezentowana jako 102. Na przykład poniżej podano możliwą sekwencję numerów wersji środowiska uruchomieniowego i zestawu SDK:
Zmiana | Środowisko uruchomieniowe platformy .NET | .NET SDK (*) |
---|---|---|
Wersja początkowa | 5.0.0 | 5.0.100 |
Poprawka zestawu SDK | 5.0.0 | 5.0.101 |
Środowisko uruchomieniowe i poprawka zestawu SDK | 5.0.1 | 5.0.102 |
Zmiana funkcji zestawu SDK | 5.0.1 | 5.0.200 |
NOTATKI:
- Jeśli zestaw SDK zawiera 10 aktualizacji funkcji przed aktualizacją funkcji środowiska uruchomieniowego, numery wersji są dostępne w serii 1000. Wersja 5.0.1000 będzie miała wersję 5.0.900. Ta sytuacja nie jest oczekiwana.
- 99 wersji poprawek bez wydania funkcji nie nastąpi. Jeśli numer wersji zbliża się do tego numeru, wymusza wydanie funkcji.
Więcej szczegółów można znaleźć we wstępnej propozycji w repozytorium dotnet/designs .
Semantyczna obsługa wersji
Środowisko uruchomieniowe .NET w przybliżeniu jest zgodne z semantyczną wersją (SemVer) i stosuje stosowanie obsługi wersji przy użyciu różnych części numeru wersji w celu opisania stopnia i typu zmiany.
MAJOR.MINOR.PATCH[-PRERELEASE-BUILDNUMBER]
Opcjonalne elementy PRERELEASE
i nigdy BUILDNUMBER
nie są częścią obsługiwanych wersji i istnieją tylko w nocnej kompilacji, lokalnych kompilacjach z obiektów docelowych źródłowych i nieobsługiwanych wersjach zapoznawczych.
Opis zmian numeru wersji środowiska uruchomieniowego
MAJOR
wartość jest zwiększana raz w roku i może zawierać:- Znaczące zmiany produktu lub kierunek nowego produktu.
- Interfejs API wprowadził istotne zmiany. Istnieje wysoki poziom akceptowania zmian, które są istotne.
- Zostanie przyjęta
MAJOR
nowsza wersja istniejącej zależności.
Wersje główne są publikowane raz w roku, a wersje z równomierną liczbą są długoterminowymi obsługiwanymi wersjami (LTS). Pierwszą wersją LTS korzystającą z tego schematu wersji jest .NET 6. Najnowsza wersja niż LTS to .NET 5.
MINOR
wartość jest zwiększana, gdy:- Zostanie dodany obszar powierzchni publicznego interfejsu API.
- Zostanie dodane nowe zachowanie.
- Zostanie przyjęta
MINOR
nowsza wersja istniejącej zależności. - Wprowadzono nową zależność.
PATCH
wartość jest zwiększana, gdy:- Wprowadzono poprawki błędów.
- Dodano obsługę nowszej platformy.
- Zostanie przyjęta
PATCH
nowsza wersja istniejącej zależności. - Każda inna zmiana nie pasuje do jednego z poprzednich przypadków.
Jeśli istnieje wiele zmian, najwyższy element, na który wpływają poszczególne zmiany, jest zwiększany, a następujące są resetowane do zera. Na przykład gdy wartość jest MAJOR
zwiększana, są MINOR.PATCH
resetowane do zera. Gdy MINOR
wartość jest zwiększana, PATCH
jest resetowana do zera, a wartość MAJOR
pozostaje taka sama.
Numery wersji w nazwach plików
Pliki pobrane dla programu .NET mają wersję, na przykład dotnet-sdk-5.0.301-win10-x64.exe
.
Wersje zapoznawcze
Wersje zapoznawcze mają -preview.[number].[build]
dołączony numer wersji. Na przykład 6.0.0-preview.5.21302.13
.
Wersje obsługi
Po zakończeniu wydania gałęzie wydań zwykle przestają tworzyć codzienne kompilacje, a zamiast tego zaczynają tworzyć kompilacje obsługi. Wersje obsługi mają -servicing-[number]
dołączony do wersji. Na przykład 5.0.1-servicing-006924
.