NuGet Version Range Tester

Test .NET NuGet version range expressions (inclusive, exclusive, floating, and interval notations) against target candidate package versions.

Ready

NuGet Range Syntax Guide

1. Brackets vs Parentheses

Square brackets ([, ]) indicate inclusive bounds. Parentheses ((, )) indicate exclusive bounds.

2. Floating Versions

Using wildcard patterns like 1.2.* resolves dynamically to the highest available patch version matching the prefix.

NuGet Version Range Tester features

  • Available tool controls: Add Version.
  • Input and option fields: NuGet Version Range Expression:, Preset Notation:, Candidate Versions to Test:.

Using NuGet Version Range Tester in a development workflow

A validator can narrow down why a sample fails a syntax or rule check. Start with the complete input, inspect the first reported issue, and correct the source rather than only hiding the message. A pass means the checked rules were satisfied; it does not confirm business logic, compatibility, or security unless those checks are explicitly included.

Check the project’s versioning rules

  1. Try the current and proposed versions, then confirm the range means what the project’s package manager expects.
  2. Pay attention to these page fields: NuGet Version Range Expression:, Preset Notation:, Candidate Versions to Test:. Confirm which fields are inputs, options, or output areas before processing.
  3. The page exposes these relevant actions: Add Version. Choose only the action that matches the result you need.
  4. Confirm compatibility with the package manager and runtime used in the project before editing dependency declarations.

Confirm compatibility in the target project

Version ranges depend on package-manager semantics and project lockfiles. Compare the result with the package manager and registry used by the project.

Frequently Asked Questions (FAQ)

An open-ended range like [1.2.0, ) specifies a minimum version boundary with no upper restriction limit, accepting all higher versions.

By default, NuGet excludes pre-release packages unless the requested version range explicitly includes a pre-release identifier or flag.

Wrapping a version inside square brackets like [1.2.3] enforces an exact version match constraint, disabling automatic floating updates.