NuGet Package Health Checker
Check any NuGet package for latest version, deprecation status, and active maintenance before adding to your .NET project.
Check any NuGet package for latest version, deprecation status, and active maintenance before adding to your .NET project.
📦 More Dependency Health Tools
Browse all 19 free tools in the Dependency Health collection — npm, PyPI, Go, Rust, Maven, PHP Composer, NuGet, RubyGems health checkers and more.
NuGet is the package manager for the .NET ecosystem, used by C#, F#, and VB.NET projects. With over 400,000 packages on nuget.org and deep integration into Visual Studio and the dotnet CLI, NuGet package hygiene is a critical part of .NET application security and maintainability.
The Microsoft security team regularly publishes security advisories for packages in the ASP.NET Core, Entity Framework, and Azure SDK families. Projects on outdated package versions miss these patches silently — there's no automatic update mechanism unless you explicitly check. The NuGet Package Health Checker gives you that systematic visibility.
The tool accepts your packages.config, .csproj PackageReference entries, or a plain list of PackageName@version entries and reports:
NuGet's transitive dependency model means your direct package list is only part of the picture. A package you directly depend on may pull in dozens of transitive dependencies, any of which could have a vulnerability. The dotnet list package --vulnerable --include-transitive command exposes this full picture. Include it in your CI pipeline.
Pre-release package versions in production are another common issue. Many developers install a preview version of an SDK package to get a new feature, then forget to update to the stable release. Preview packages don't go through the same security review process as stable releases.
dotnet list package --vulnerable --include-transitive in CI to catch transitive vulnerabilitiespackages.config to PackageReference in .csproj for better dependency management<NuGetAudit>true</NuGetAudit> to your project propertiesNuGet has tighter integration with the Visual Studio IDE for vulnerability warnings, and Microsoft actively patches first-party packages (ASP.NET Core, EF Core) under coordinated disclosure. However, third-party NuGet packages receive no different treatment than npm or PyPI packages — maintainer effort varies widely.
packages.lock.json locks resolved transitive dependency versions for reproducible builds. It's the NuGet equivalent of package-lock.json or Gemfile.lock. Enable it by setting <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> in your project.
See also: .NET Developer Tools — all related tools and version tracking on ReleaseRun.