.NET Package Deprecation
We will start using the NuGet Package Deprecation feature to mark .NET packages that are out of support per the .NET 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:
<!-- MyApp.csproj -->
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.0.0" />
> 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 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
.NET Package Deprecation
We will start using the NuGet Package Deprecation feature to mark .NET packages that are out of support per the .NET 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:
How to check for deprecated packages
Use the .NET CLI to check if your project references deprecated packages:
The Reason(s) column indicates why the package was deprecated. When an Alternative is listed, update to that version. Use
--include-transitiveto 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 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