Skip to main content This browser is no longer supported. Show
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. Package versioning
In this articleA specific package is always referred to using its package identifier and an exact version number. For example, Entity Framework on nuget.org has several dozen specific packages available, ranging from version 4.1.10311 to version 6.1.3 (the latest stable release) and a variety of pre-release versions like 6.2.0-beta1. When creating a package, you assign a specific version number with an optional pre-release text suffix. When consuming packages, on the other hand, you can specify either an exact version number or a range of acceptable versions. In this topic:
Version basicsA specific version number is in the form Major.Minor.Patch[-Suffix], where the components have the following meanings:
Examples:
Important nuget.org rejects any package upload that lacks an exact version number. The version must be specified in the Pre-release versionsTechnically speaking, package creators can use any string as a suffix to denote a pre-release version, as NuGet treats any such version as pre-release and makes no other interpretation. That is, NuGet displays the full version string in whatever UI is involved, leaving any interpretation of the suffix's meaning to the consumer. That said, package developers generally follow recognized naming conventions:
Note NuGet 4.3.0+ supports SemVer 2.0.0, which supports pre-release numbers with dot notation, as in 1.0.1-build.23. Dot notation is not supported with NuGet versions before 4.3.0. You can use a form like 1.0.1-build23. When resolving package references and multiple package versions differ only by suffix, NuGet chooses a version without a suffix first, then applies precedence to pre-release versions in reverse alphabetical order. For example, the following versions would be chosen in the exact order shown:
Semantic Versioning 2.0.0With NuGet 4.3.0+ and Visual Studio 2017 version 15.3+, NuGet supports Semantic Versioning 2.0.0. Certain semantics of SemVer v2.0.0 are not supported in older clients. NuGet considers a package version to be SemVer v2.0.0 specific if either of the following statements is true:
For nuget.org, a package is defined as a SemVer v2.0.0 package if either of the following statements is true:
If you upload a SemVer v2.0.0-specific package to nuget.org, the package is invisible to older clients and available to only the following NuGet clients:
Third-party clients:
Version rangesWhen referring to package dependencies, NuGet supports using interval notation for specifying version ranges, summarized as follows:
When using the PackageReference format, NuGet also supports using a floating notation, *, for Major, Minor, Patch, and pre-release suffix parts of the number. Floating versions are not supported with the Note Version ranges in PackageReference include pre-release versions. By design, floating versions do not resolve prerelease versions unless opted into. For the status of the related feature request, see issue 6434. ExamplesAlways specify a version or version range for package dependencies in project files, References in project files (PackageReference)
Floating version resolutions
Note Floating version resolution does not take into account whether or not a package is listed. Floating version resolution will be resolved locally if the conditions can be satisfied with packages in the Global Package Folder. References in In
References in The
Normalized version numbersNote This is a breaking change for NuGet 3.4 and later. When obtaining packages from a repository during install, reinstall, or restore operations, NuGet 3.4+ treats version numbers as follows:
However, NuGet package repositories must treat these values in the same way as NuGet to prevent package version duplication. Thus a repository that contains version 1.0 of a package should not also host version 1.0.0 as a separate and different package. Where NuGetVersion diverges from Semantic VersioningIf you want to programatically use NuGet package versions, it is strongly recommended to use the package NuGet.Versioning. The static method If you are implementing NuGet functionality in a language that does not run on .NET, here are the known list of differences between
FeedbackSubmit and view feedback for Additional resourcesAdditional resourcesIn this articleWhich of the following is a true statement regarding guidelines for alphabetic filing?Administrative prac. When filing alphabetically Which of the following records will be filed first quizlet?The first unit in alphabetic filing is the patient's last name. An established patient typically is one who has been seen in the last three years.
Which of the following is the correct order when filing patient records quizlet?Files are arranged by patient's last name first, followed by the first name, and the middle initial.
What are the advantages of using the color coded filing system quizlet?The advantages of using the color-coding filing system are the following: the use of color visually restricts the area of search for a specific record. a misfiled record is easily spotted even from a distance. you can use either the alphabetic or numeric color-coding system.
|