diff --git a/docs/core/versions/selection.md b/docs/core/versions/selection.md index 98a04662854e8..083e7a04f2a76 100644 --- a/docs/core/versions/selection.md +++ b/docs/core/versions/selection.md @@ -159,6 +159,18 @@ However you set the roll-forward setting, use one of the following values to set [!INCLUDE [roll-forward-table](../../../includes/roll-forward-table.md)] +For example, suppose an application requests version `8.0.0`, while the locally available versions are `8.2.0`, `8.2.3`, `8.4.5`, `9.0.0`, `9.0.6`, `9.7.8`. +Then the resolved version is as follows in each case: + +| Value | Resolved version | Resolved version if `8.0.1` were also available | +|---------------|------------------|-------------------------------------------------| +| `Minor` | `8.2.3` | `8.0.1` | +| `Major` | `8.2.3` | `8.0.1` | +| `LatestPatch` | (fails) | `8.0.1` | +| `LatestMinor` | `8.4.5` | `8.4.5` | +| `LatestMajor` | `9.7.8` | `9.7.8` | +| `Disable` | (fails) | (fails) | + ## Self-contained deployments include the selected runtime You can publish an application as a [**self-contained distribution**](../deploying/index.md#publish-self-contained). This approach bundles the .NET runtime and libraries with your application. Self-contained deployments don't have a dependency on runtime environments. Runtime version selection occurs at publishing time, not run time. diff --git a/includes/roll-forward-table.md b/includes/roll-forward-table.md index 4f0964d092c08..eeaefd1243151 100644 --- a/includes/roll-forward-table.md +++ b/includes/roll-forward-table.md @@ -1,16 +1,16 @@ --- author: adegeo ms.author: adegeo -ms.date: 07/08/2021 +ms.date: 05/16/2025 ms.topic: include recommendations: false --- | Value | Description | |---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `Minor` | **Default** if not specified.
Roll-forward to the lowest higher minor version, if requested minor version is missing. If the requested minor version is present, then the `LatestPatch` policy is used. | -| `Major` | Roll-forward to the next available higher major version, and lowest minor version, if requested major version is missing. If the requested major version is present, then the `Minor` policy is used. | -| `LatestPatch` | Roll-forward to the highest patch version. This value disables minor version roll-forward. | -| `LatestMinor` | Roll-forward to highest minor version, even if requested minor version is present. | -| `LatestMajor` | Roll-forward to highest major and highest minor version, even if requested major is present. | +| `Minor` | **Default** if not specified.
Roll-forward to the next available higher minor version (and highest available patch version within that minor version), if requested minor version is missing. If the requested minor version is present, then the `LatestPatch` policy is used. | +| `Major` | Roll-forward to the next available higher major version (at its lowest available minor version, and highest available patch version within that minor version), if requested major version is missing. If the requested major version is present, then the `Minor` policy is used. | +| `LatestPatch` | Roll-forward to the highest patch version available for the requested major and minor versions. This value disables minor version roll-forward. | +| `LatestMinor` | Roll-forward to the highest minor version available for the requested major version (and highest available patch version within that minor version), even if requested minor version is present. | +| `LatestMajor` | Roll-forward to highest available major version (and highest available minor and patch version within that major version), even if requested major is present. | | `Disable` | Don't roll-forward, only bind to the specified version. This policy isn't recommended for general use since it disables the ability to roll-forward to the latest patches. This value is only recommended for testing. |