In the nuspec versioning docs I see
1.0 = 1.0 ≤ x
(,1.0] = x ≤ 1.0
(,1.0) = x < 1.0
[1.0] = x == 1.0
(1.0) = invalid
(1.0,) = 1.0 < x
(1.0,2.0) = 1.0 < x < 2.0
[1.0,2.0] = 1.0 ≤ x ≤ 2.0
empty = latest version.
I have a packages.config
that looks like this
<packages>
<package id="psake" version="4.2.0.1" />
</packages>
and I would like to change the version to "latest".
I've tried both
<packages>
<package id="psake" version="" />
</packages>
and
<packages>
<package id="psake" />
</packages>
but both result in Unable to parse version value '' from 'packages.config'.
I am using Nuget.exe 2.8.2
You can modify your .cspoj file to execute a "BeforeBuild" target like this :
<Target Name="BeforeBuild"> <Exec Command=""$(SolutionDir).nuget\NuGet" update "$(ProjectDir)packages.config" -Id psake" /> </Target>
Note that : u'll need to have the "Nuget.exe" in ur solution directory.
I am guessing you are trying to use nuget install or nuget restore to pull down the NuGet package using NuGet.exe.
The version attribute in the packages.config defines the version installed in the project or solution.
To get the latest version of the psake NuGet package you would need to install it using the Package Manager console, or the Manage Packages dialog or by knowing the exact version of the package, adding that into the packages.config file, and using package restore. Since psake is a solution level package it does not update your project the last option is feasible.
The version ranges are used to restrict the package versions that are allowed to be installed in your project.
As of Nuget 2.8 you can add the following attribute to your nuget.config
When resolving your packages, the latest version of that package will be resolved. Other attributes include HighestMinor, HighestPatch and lowest (based on semantic versioning)
Source: http://docs.nuget.org/docs/release-notes/nuget-2.8
Alternatively, you could run
restore
on an arbitrary version followed byupdate
as per https://docs.nuget.org/consume/command-line-reference. To ensure the latest you would need to re-runupdate
.