如何配置packages.config以下载最高版本

时间:2018-03-19 15:31:45

标签: c# .net visual-studio nuget nuget-package

我想配置packages.config以下载可用的最高版本的软件包。我怎么能这样做?

类似的东西:

<package id="PackageName" version="Highest" ... />

我看到attr“allowedVersions”,但它总是下载“版本”attr中配置的版本。

3 个答案:

答案 0 :(得分:2)

  

如何配置packages.config以下载最高版本

正如Ashley和Matt所说,这是不可能的,因为packages.config只允许指定单个版本的包。

简单的解决方法是使用nuget cli在预构建事件中更新该包:

$(YourNuGetPath)\nuget.exe update "$(ProjectDir)packages.config" -Id "<YourPackageId>"

使用此构建事件,Visual Studio将在您构建项目之前将该软件包更新到最新版本。

答案 1 :(得分:1)

不幸的是,这对NuGet来说是不可能的,它只允许特定的版本。 allowedVersions用于阻止某人超越特定版本。即版本1. *很好,但你不能去2.0版。

这种类似的解决方法是批处理/ powershells脚本,它可以更新所需的包。然后,您可以将其挂钩到预构建中。

答案 2 :(得分:0)

我认为您现在可以直接在项目文件中使用 PackageReference 节点。 通过这样做,您可以定义一个浮动版本,该版本将选择最高的稳定版本。

https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#version-ranges