简体   繁体   English

为什么 MyGet 提要中的错误版本被标记为包的最新版本?

[英]Why is the wrong version in a MyGet feed labelled as the latest version of the package?

There are several versions created for MyGet : System.Linq.Dynamic.Core :MyGet创建了多个版本: System.Linq.Dynamic.Core

我的获取

However for some reason the oldest version still has the flag latest ?但是由于某种原因,最旧的版本仍然有latest的标志? Is this a bug in MyGet, or is there a setting to fix this ?这是 MyGet 中的错误,还是有解决此问题的设置?

I was facing the same issue.我面临着同样的问题。 I have found that it is not the issue with myget flagging the latest packages, it is to do with NuGet package versioning rules.我发现这不是 myget 标记最新包的问题,​​而是与 NuGet 包版本控制规则有关。

Please read this link to understand your issue https://docs.microsoft.com/en-us/nuget/concepts/package-versioning请阅读此链接以了解您的问题https://docs.microsoft.com/en-us/nuget/concepts/package-versioning

For me, the issue was as follows,对我来说,问题如下,

The packages were versioned like,软件包的版本如下,

7.2.0.build999 - This was flagged latest 7.2.0.build999 - 这被标记为最新
7.2.0.build1000 - This was not flagged latest even uploaded after 999 and versioned higher than 999 7.2.0.build1000 - 即使在 999 之后上传并且版本高于 999 也没有标记为最新

And the reason was,而原因是,

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.当解析包引用并且多个包版本仅因后缀不同时,NuGet 首先选择一个没有后缀的版本,然后按字母顺序倒序对预发布版本应用优先级。

Hope this helps :)希望这可以帮助 :)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM