.NET Package Deprecation
- 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
Assessment
This issue has not been assessed yet.