nuget spec依赖,获取最新版本?

Geo*_*uer 28 versioning specifications nuget nuspec

在我看到的nuspec版本控制文档中

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.
Run Code Online (Sandbox Code Playgroud)

我有一个packages.config看起来像这样的

<packages>
  <package id="psake" version="4.2.0.1" />
</packages>
Run Code Online (Sandbox Code Playgroud)

我想将版本更改为"最新".

我试过了两个

<packages>
  <package id="psake" version="" />
</packages>
Run Code Online (Sandbox Code Playgroud)

<packages>
  <package id="psake" />
</packages>
Run Code Online (Sandbox Code Playgroud)

但两者都导致了 Unable to parse version value '' from 'packages.config'.

我正在使用Nuget.exe 2.8.2

Jos*_*lin 34

从Nuget 2.8开始,您可以将以下属性添加到nuget.config中

<configuration>
    <config> 
        <add key="dependencyversion" value="Highest" /> 
    </config>
</configuration>
Run Code Online (Sandbox Code Playgroud)

解析包时,将解析该包的最新版本.其他属性包括HighestMinor,HighestPatch和最低(基于语义版本控制)

资料来源:http://docs.nuget.org/docs/release-notes/nuget-2.8


Mat*_*ard 5

我猜您正在尝试使用 nuget install 或 nuget Restore 来使用 NuGet.exe 下拉 NuGet 包。

packages.config 中的版本属性定义了项目或解决方案中安装的版本。

要获取最新版本的 psake NuGet 包,您需要使用包管理器控制台或“管理包”对话框来安装它,或者通过了解包的确切版本、将其添加到packages.config 文件中并使用包还原来安装它。由于 psake 是一个解决方案级别的包,它不会更新您的项目,因此最后一个选项是可行的。

版本范围用于限制允许在项目中安装的包版本。

<packages>
    <package id="SomePackage" version="2.1.0" allowedVersions="[2,3)" />
</packages>
Run Code Online (Sandbox Code Playgroud)