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.

Zobacz też