Learning NuGet Semantic Version Ranges with SemVer Explorer
When authoring NuGet packages, you can declare package dependency versions using Semantic Versioning. NuGet allows specifying dependencies as floating ranges, using interval notation or using fixed version numbers, as explained in the NuGet docs.
MyGet SemVer Explorer allows you to specify a SemVer dependency range, and will check the target package repository for the package versions that match.
Version ranges can be simple (e.g.
6.1.* to match all packages >= 6.1.0) or more complex using interval notation (e.g.
(8.0,9.0.1) to match versions that are between 8.0 and 9.0.1. SemVer explorer lets you try these ranges and see which versions of an actual package match. Once satisfied, version ranges can be used in a
project.json document for use with NuGet or the .NET Core command line.
Can I target MyGet feeds?
Definitely! By default, the tool is configured to query the v3 NuGet.org repository at https://api.nuget.org/v3/index.json. You can simply change the target feed URL to the v3 NuGet feed of a MyGet repository you have access to, and we'll query that one instead.
Can I target private MyGet feeds?
If you have an access token that grants you read-access to the MyGet repository, you can leverage MyGet's support for pre-authenticated feed URLs. Make sure you target the pre-authenticated v3 NuGet endpoint. See our documentation for further guidance.
Have fun exploring the various semantic version constraints NuGet provides! And happy packaging!