Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/core/compatibility/10.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
| [NuGet packages with no runtime assets aren't included in deps.json](sdk/10.0/deps-json-trimmed-packages.md) | Source incompatible | Preview 5 |
| [PackageReference without a version raises an error](sdk/10.0/nu1015-packagereference-version.md) | Behavioral change | Preview 6 |
| [PrunePackageReference privatizes direct prunable references](sdk/10.0/prune-packagereference-privateassets.md) | Behavioral change | Preview 7 |
| [Version requirements for .NET 10 SDK](sdk/10.0/version-requirements.md) | Source incompatible | RC 2 |
| [HTTP warnings promoted to errors in `dotnet package list` and `dotnet package search`](sdk/10.0/http-warnings-to-errors.md) | Behavioral/source incompatible change | Preview 4 |
| [NUGET_ENABLE_ENHANCED_HTTP_RETRY environment variable removed](sdk/10.0/nuget-enhanced-http-retry-removed.md) | Behavioral change | Preview 6 |
| [NuGet logs an error for invalid package IDs](sdk/10.0/nuget-packageid-validation.md) | Behavioral change | RC 1 |
Expand Down
46 changes: 46 additions & 0 deletions docs/core/compatibility/sdk/10.0/version-requirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: "Breaking change: Version requirements for .NET 10 SDK"
description: Learn about the breaking change in the .NET 10 SDK where specific versions of Visual Studio and MSBuild are required.
ms.date: 01/03/2025
ai-usage: ai-assisted
---
# Version requirements for .NET 10 SDK

Per the [published support rules](../../../porting/versioning-sdk-msbuild-vs.md#targeting-and-support-rules), the minimum Visual Studio and MSBuild version for each new major release is updated with a one quarter delay. For the .NET 10 release:

- 10.0.100 requires version 17.14 to be loaded but only supports targeting .NET 9 in that version.
- To target `net10.0`, you must use version 18.0 or later.

## Version introduced

.NET 10 RC 2

## Previous behavior

The previous minimum for .NET 10 previews was Visual Studio 17.13 to allow time for release and more adoption of Visual Studio 17.14.

## New behavior

- .NET 10.0.100 RC 2 and later will only load on Visual Studio version 17.14 or later.
- .NET 10.0.100 will warn when targeting `net10.0` on Visual Studio version 17.14.
- To target `net10.0`, you must use Visual Studio version 18.0 or later.

## Type of breaking change

This change can affect [source compatibility](../../categories.md#source-compatibility).

## Reason for change

This is part of the standard support policy for the SDK as not all prior versions of Visual Studio and MSBuild can be supported.

## Recommended action

Upgrade to Visual Studio 2026 to target `net10.0`. If you only need to target `net9.0` or earlier, you can use Visual Studio 17.14 or later.

## Affected APIs

N/A

## See also

- [Targeting and support rules](../../../porting/versioning-sdk-msbuild-vs.md#targeting-and-support-rules)
2 changes: 2 additions & 0 deletions docs/core/compatibility/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,8 @@ items:
href: sdk/10.0/nuget-enhanced-http-retry-removed.md
- name: NuGet logs an error for invalid package IDs
href: sdk/10.0/nuget-packageid-validation.md
- name: Version requirements for .NET 10 SDK
href: sdk/10.0/version-requirements.md
- name: Windows Forms
items:
- name: API obsoletions
Expand Down
4 changes: 4 additions & 0 deletions docs/core/porting/versioning-sdk-msbuild-vs.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,13 +89,16 @@ A the following policy dictates which versions of MSBuild and Visual Studio a gi
| 9.0.100 | 17.12 | 17.11 | Net8.0 | Net9.0 |
| 9.0.200 | 17.13 | 17.12 | Net9.0 | Net9.0 |
| 9.0.300 | 17.14 | 17.12 | Net9.0 | Net9.0 |
| 10.0.100 | 18.0 | 17.14 | Net9.0 | Net10.0 |

> [!NOTE]
> The table depicts how these versioning rules are applied, starting with .NET SDK 7.0.100 and .NET SDK 6.0.300. It also depicts how the policy would have applied to previously shipped versions of the .NET SDK, had it been in place then. However, the requirements for previous versions of the SDK don't change—that is, the minimum required version of Visual Studio for .NET SDK 6.0.100 or 6.0.200 remains 16.10.
>
> Targeting `net8.0` is officially supported in Visual Studio 17.8+ only.
>
> Targeting `net9.0` is officially supported in Visual Studio 17.12+ only.
>
> Targeting `net10.0` is officially supported in Visual Studio 18.0+ only.

To ensure consistent tooling, you should use `dotnet build` rather than `msbuild` to build your application when possible.

Expand All @@ -111,6 +114,7 @@ Major versions of the .NET SDK are typically released within a few days of a Vis
| 10.0.100 Preview 1 | 17.14 Preview 1 |
| 10.0.100 Preview 2 | 17.14 Preview 2 |
| 10.0.100 Preview 3 | 17.14 Preview 3 |
| 10.0.100 RC 2 | 17.14 |

## Reference

Expand Down
Loading