我想配置packages.config以下载可用的最高版本的软件包。我怎么能这样做?
类似的东西:
<package id="PackageName" version="Highest" ... />
我看到attr“allowedVersions”,但它总是下载“版本”attr中配置的版本。
答案 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