dotnet / dotnet/core

.NET Package Deprecation

Open
#10,347 12 comments 5 reactions 0 assignees View on GitHub
announcement area-nuget Security Support
Dominant language
PowerShell
Stars
22k
Forks
4.9k
Avg merge
5d 5h
Merged PRs (30d)
29

Description

# .NET Package Deprecation

We will start using the [NuGet Package Deprecation feature](https://learn.microsoft.com/nuget/nuget-org/deprecate-packages) to mark .NET packages that are out of support per the [.NET Support Policy](https://dotnet.microsoft.com/platform/support/policy). Accurate and timely deprecation markings will enable Visual Studio, the .NET CLI, and nuget.org to indicate which packages are out of support, have been deprecated, or have been superseded.

## What's being done

We are applying deprecation markings across .NET packages on NuGet, starting with the backlog of versions that are already out of support.

The following principles apply:

- Previous versions of actively maintained packages will be marked deprecated when they go out of support.
- When a package version is replaced by a security fix, the previous version will be marked deprecated to direct users to the patched version.
- Deprecated packages remain visible on nuget.org, in Visual Studio, and in the .NET CLI. They can still be restored by projects. This is an informational marking, not a removal.

## How to check for deprecated packages

Use the .NET CLI to check if your project references deprecated packages:

```xml

```

```
> dotnet list package --deprecated

Project `MyApp` has the following deprecated packages
[net10.0]:
Top-level Package Requested Resolved Reason(s) Alternative
> Microsoft.Extensions.Logging 3.0.0 3.0.0 Other,Legacy
```

The **Reason(s)** column indicates why the package was deprecated. When an **Alternative** is listed, update to that version. Use `--include-transitive` to also check indirect dependencies.

In **Visual Studio**, deprecated packages show a warning icon in the NuGet Package Manager.

## ASP.NET Core 2.3 on .NET Framework

ASP.NET Core packages used on .NET Framework require special handling. The [ASP.NET Core 2.3 package list](https://dotnet.microsoft.com/platform/support/policy/aspnet/2.3-packages) identifies the supported packages and versions for this scenario. These packages are being handled separately to ensure developers using ASP.NET Core on .NET Framework continue to have a clear path.

## Timeline

This process will start in April 2026 and we expect it to be complete in the first half of 2026.

We welcome feedback on this issue. If you encounter a package that appears to be incorrectly marked, please comment here with the package name and version.

## Related

- [Prior discussion on .NET package deprecation](https://github.com/dotnet/core/issues/7420)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.