Omówienie sposobu platformy .NET Core jest wersjonowanyOverview of how .NET Core is versioned

.NET core odnosi się do środowiska uruchomieniowego programu .NET Core i .NET Core SDK, który zawiera narzędzia potrzebne do tworzenia aplikacji..NET Core refers to the .NET Core Runtime and the .NET Core SDK, which contains the tools you need to develop applications. Zestawów .NET core SDK są przeznaczone do pracy z poprzednich wersji środowiska uruchomieniowego programu .NET Core..NET Core SDKs are designed to work with any previous version of the .NET Core Runtime. W tym artykule wyjaśniono, środowisko uruchomieniowe i strategii wersji zestawu SDK.This article explains the runtime and the SDK version strategy. Wyjaśnienie numery wersji dla platformy .NET Standard można znaleźć w artykule Przedstawiamy .NET Standard.An explanation of version numbers for .NET Standard can be found in the article introducing .NET Standard.

Środowisko uruchomieniowe programu .NET Core i .NET Core SDK dodania nowych funkcji w różnych stawki — ogólnie rzecz biorąc .NET Core SDK zawiera szybko zaktualizować narzędzia więcej niż środowisko uruchomieniowe programu .NET Core zmiany środowiska uruchomieniowego, którego używasz w środowisku produkcyjnym.The .NET Core Runtime and .NET Core SDK add new features at a different rate - in general the .NET Core SDK provides updated tools more quickly than the .NET Core Runtime changes the runtime you use in production.

Szczegóły wersjiVersioning details

".NET Core 2.1" odnosi się do numer wersji środowiska uruchomieniowego programu .NET Core.".NET Core 2.1" refers to the .NET Core Runtime version number. Środowisko uruchomieniowe programu .NET Core zawiera główny/drobnych/patch sposobem przechowywania wersji, który następuje po wersji semantycznej.The .NET Core Runtime has a major/minor/patch approach to versioning that follows semantic versioning.

.NET Core SDK nie postępuj zgodnie z semantyki przechowywania wersji.The .NET Core SDK doesn't follow semantic versioning. .NET Core SDK zwalnia szybciej, a jego wersji muszą komunikować się wyrównany środowiska uruchomieniowego i zestawu SDK własnych niewielkie i poprawki wersji.The .NET Core SDK releases faster and its versions must communicate both the aligned runtime and the SDK's own minor and patch releases. Pierwsze dwa stanowiska wersji zestawu .NET Core SDK są zablokowane do środowiska uruchomieniowego .NET Core ona udostępniona.The first two positions of the .NET Core SDK version are locked to the .NET Core Runtime it released with. Każda wersja zestawu SDK można tworzyć aplikacje, dla tego środowiska uruchomieniowego lub dowolnej starszej wersji.Each version of the SDK can create applications for this runtime or any lower version.

Trzeci położenie numer wersji zestawu SDK komunikuje się oba pomocnicze i poprawianie numer.The third position of the SDK version number communicates both the minor and patch number. Wersja pomocnicza jest pomnożona przez 100.The minor version is multiplied by 100. Podrzędny numer wersji 1, poprawki w wersji 2 jest przedstawiany jako 102.Minor version 1, patch version 2 would be represented as 102. Dwie cyfry końcowe reprezentują numer poprawki.The final two digits represent the patch number. Wersja platformy .NET Core 2.2 może na przykład utworzyć wersji, takich jak Poniższa:For example, the release of .NET Core 2.2 may create releases like the following table:

ZmianaChange Środowisko uruchomieniowe programu .NET core.NET Core Runtime .NET core SDK (*).NET Core SDK (*)
Wersja początkowaInitial release 2.2.02.2.0 2.2.1002.2.100
Poprawka zestawu SDKSDK Patch 2.2.02.2.0 2.2.1012.2.101
Środowisko uruchomieniowe i zestaw SDK poprawkiRuntime and SDK Patch 2.2.12.2.1 2.2.1022.2.102
Zmiana funkcji zestawu SDKSDK Feature change 2.2.12.2.1 2.2.2002.2.200

(*) Ten wykres używa przyszłych 2.2 środowisko uruchomieniowe programu .NET Core co w przykładzie, ponieważ historyczne artefaktu przeznaczone pierwszy zestaw SDK dla platformy .NET Core 2.1 jest 2.1.300.(*) This chart uses a future 2.2 .NET Core Runtime as the example because a historic artifact meant the first SDK for .NET Core 2.1 is 2.1.300. Aby uzyskać więcej informacji, zobacz wybór wersji platformy .NET Core.For more information, See the .NET Core version selection.

UWAGI:NOTES:

  • Jeśli zestaw SDK zawiera 10 aktualizacje funkcji przed aktualizacją funkcji środowiska uruchomieniowego, numery wersji przejdą do serii 1000 z międzynarodowymi numerami identyfikującymi takich jak 2.2.1000 jako wydawanie funkcji od 2.2.900.If the SDK has 10 feature updates before a runtime feature update, version numbers roll into the 1000 series with numbers like 2.2.1000 as the feature release following 2.2.900. Ta sytuacja nie jest wystąpienie jest oczekiwane.This situation isn't expected to occur.
  • 99 poprawkami wydań, bez wydawania funkcji nie zostanie wykonana.99 patch releases without a feature release won't occur. Jeśli ten numer zbliża się do wydania, wymusza wersji funkcji.If a release approaches this number, it forces a feature release.

Można zobaczyć więcej szczegółów, w początkowej wniosek na dotnet/projekty repozytorium.You can see more details in the initial proposal at the dotnet/designs repository.

Przechowywanie wersji semantyczneSemantic versioning

.NET Core środowiska uruchomieniowego około działa zgodnie z Semantic Versioning (SemVer), przyjęcie użytkowania MAJOR.MINOR.PATCH przechowywania wersji, użycie różnych części numeru wersji w celu opisania stopnia i typ Zmiana.The .NET Core Runtime roughly adheres to Semantic Versioning (SemVer), adopting the use of MAJOR.MINOR.PATCH versioning, using the various parts of the version number to describe the degree and type of change.

MAJOR.MINOR.PATCH[-PRERELEASE-BUILDNUMBER]

Opcjonalny PRERELEASE i BUILDNUMBER części nigdy nie są częścią obsługiwanych wersji i istnieją tylko na nocnych kompilacji, lokalne kompilacje z celów źródła i nieobsługiwane wersje zapoznawcze.The optional PRERELEASE and BUILDNUMBER parts are never part of supported releases and only exist on nightly builds, local builds from source targets, and unsupported preview releases.

Omówienie zmiany numeru wersji środowiska uruchomieniowegoUnderstand runtime version number changes

MAJOR jest zwiększany, gdy:MAJOR is incremented when:

  • Znaczących zmianach produkt lub nowym kierunku produktu.Significant changes occur to the product, or a new product direction.
  • Powodująca niezgodność zmiany zostały pobrane.Breaking changes were taken. Istnieje wysoka pasek z zaakceptowania zmian powodujących niezgodność.There's a high bar to accepting breaking changes.
  • Stara wersja nie jest już obsługiwana.An old version is no longer supported.
  • Nowsze MAJOR przyjmuje się wersja istniejące zależności.A newer MAJOR version of an existing dependency is adopted.

MINOR jest zwiększany, gdy:MINOR is incremented when:

  • Publiczny obszar powierzchni interfejsu API jest dodawany.Public API surface area is added.
  • Nowe zachowanie jest dodawany.A new behavior is added.
  • Nowsze MINOR przyjmuje się wersja istniejące zależności.A newer MINOR version of an existing dependency is adopted.
  • Wprowadzono nowe zależności.A new dependency is introduced.

PATCH jest zwiększany, gdy:PATCH is incremented when:

  • Poprawki zostały wprowadzone.Bug fixes are made.
  • Zostanie dodana jego obsługa dla nowszej platformy.Support for a newer platform is added.
  • Nowsze PATCH przyjmuje się wersja istniejące zależności.A newer PATCH version of an existing dependency is adopted.
  • Inne zmiany nie mieści się jednego z poprzednich przypadków.Any other change doesn't fit one of the previous cases.

W przypadku wielu zmian najwyższy element wpływ poszczególnych zmian jest zwiększany, a poniższych jest resetowany do zera.When there are multiple changes, the highest element affected by individual changes is incremented, and the following ones are reset to zero. Na przykład, gdy MAJOR jest zwiększany MINOR i PATCH jest resetowany do zera.For example, when MAJOR is incremented, MINOR and PATCH are reset to zero. Gdy MINOR jest zwiększany PATCH jest resetowany do zera trochę MAJOR nie została zmieniona po lewej.When MINOR is incremented, PATCH is reset to zero while MAJOR is left untouched.

Numery wersji w nazwach plikówVersion numbers in file names

Pliki pobierane dla platformy .NET Core przeniesienia wersji, na przykład dotnet-sdk-2.1.300-win10-x64.exe.The files downloaded for .NET Core carry the version, for example, dotnet-sdk-2.1.300-win10-x64.exe.

Wersje (wersja zapoznawcza)Preview versions

Wersji zapoznawczych mają -preview[number]-([build]|"final") dołączany do wersji.Preview versions have a -preview[number]-([build]|"final") appended to the version. Na przykład 2.0.0-preview1-final.For example, 2.0.0-preview1-final.

Obsługa wersjiServicing versions

Po wydaniu trafia, gałęzie wydań jest ogólnie Zatrzymaj tworzenie codzienne kompilacje i zamiast tego zaczniesz tworzenie obsługi kompilacji.After a release goes out, the release branches generally stop producing daily builds and instead start producing servicing builds. Wersje obsługi mają -servicing-[number] dołączany do wersji.Servicing versions have a -servicing-[number] appended to the version. Na przykład 2.0.1-servicing-006924.For example, 2.0.1-servicing-006924.

Relacja do wersji .NET StandardRelationship to .NET Standard versions

.NET standard składa się z zestawu odwołania platformy .NET..NET Standard consists of a .NET reference assembly. Wiele implementacji są specyficzne dla poszczególnych platform.There are multiple implementations specific to each platform. Zestaw odwołania zawiera definicji interfejsów API platformy .NET, które są dostępne w ramach danej wersji .NET Standard.The reference assembly contains the definition of .NET APIs which are part of a given .NET Standard version. Każda implementacja spełnia .NET Standard kontraktu na danej platformie.Each implementation fulfills the .NET Standard contract on the specific platform. Można znaleźć więcej informacji na temat .NET Standard w artykule na .NET Standard w przewodniku programu .NET.You can learn more about .NET Standard in the article on .NET Standard in the .NET Guide.

.NET Standard używa zestawu odwołania MAJOR.MINOR schematu przechowywania wersji.The .NET Standard reference assembly uses a MAJOR.MINOR versioning scheme. PATCH poziom nie jest przydatne dla platformy .NET Standard, ponieważ udostępnia tylko specyfikację interfejsu API (nie implementacji), a następnie zgodnie z definicją wszelkie zmiany interfejsu API reprezentuje zmianę zestawu funkcji i dlatego nową MINOR wersji.PATCH level isn't useful for .NET Standard because it exposes only an API specification (no implementation) and by definition any change to the API would represent a change in the feature set, and thus a new MINOR version.

Implementacje na każdej z platform mogą być aktualizowane, zazwyczaj w ramach wersji platformy i w związku z tym nie oczywisty dla programistów przy użyciu platformy .NET Standard na tej platformie.The implementations on each platform may be updated, typically as part of the platform release, and thus not evident to the programmers using .NET Standard on that platform.

Każda wersja programu .NET Core implementuje wersji programu .NET Standard.Each version of .NET Core implements a version of .NET Standard. Zaimplementowanie wersji .NET Standard oznacza pomocy technicznej dla wcześniejszych wersji programu .NET Standard.Implementing a version of .NET Standard implies support for previous versions of .NET Standard. Wersja platformy .NET standard i .NET Core niezależnie..NET Standard and .NET Core version independently. Jest zbieżność, że zestaw .NET Core 2.0 implementuje .NET Standard 2.0.It's a coincidence that .NET Core 2.0 implements .NET Standard 2.0. .NET core 2.1 implementuje również .NET Standard 2.0..NET Core 2.1 also implements .NET Standard 2.0. .NET core będzie obsługiwać przyszłych wersjach programu .NET Standard, gdy tylko zostaną udostępnione..NET Core will support future versions of .NET Standard as they become available.

.NET Core.NET Core .NET Standard.NET Standard
1.01.0 do wersji 1.6up to 1.6
2.02.0 do 2,0up to 2.0
2.12.1 do 2,0up to 2.0

Zobacz takżeSee also