Nexus托管Nuget存储库向Nuget客户端返回错误的版本号

时间:2017-02-23 17:29:31

标签: visual-studio nuget nexus

我负责使用nexus设置托管的nuget存储库。我目前正在我的本地机器上进行原型设计,而且我看到了一个奇怪的问题。

问题在Visual Studio 2015 nuget客户端中体现出来 - 基本上我推送的软件包的版本号都是错误的。显示似乎默认为存储库中任何包的最高版本号。 此外,当您在左侧选择一个软件包时,右侧的详细信息面板有一个版本下拉列表 - 并且其中填充了存储库中所有软件包的所有版本号

例如,我的nexus / nuget repo中有3个包:

package1/v1.0.0 
package2/v2.1.0
package3/v3.0.0 

这些包中没有其他版本。

Nuget Client浏览选项卡将错误显示:

package1 v3.0.0

package2 v3.0.0

package3 v3.0.0

然后,如果您查看package1的详细信息,则会显示版本下拉列表

  • 最新稳定3.0.0
  • 3.0.0
  • 2.1.0
  • 1.0.0

由于只有v1.0.0的package1实际存在于repo中,因此选择任何其他版本将导致程序包安装程序被弹出(这是有意义的)。

我已将此问题隔离到服务器而不是nuget客户端。例如,在程序包管理命令行上:

Find-Package package -AllVersions |select Id, Versions

我回来了:

Id        Versions
--        --------    
package1  {3.0.0, 2.1.0, 1.0.0}
pacakge2  {3.0.0, 2.1.0, 1.0.0}
package3  {3.0.0, 2.1.0, 1.0.0}

这清楚地告诉我,存储库正在为客户端提供错误数据,而不是客户端对数据本身进行修改。

是否有人遇到此问题并知道如何解决?

我使用

的软件版本
  • 列出Nexus OSS v3.2.0(免费版)
  • 使用v3.5.0推送Nuget包
  • Visual Studio v3.4.0中的Nuget客户端

1 个答案:

答案 0 :(得分:0)

此问题与旧版NuGet有关,您可以尝试在Visual Studio中更新您的Nuget客户端。目前最稳定的版本是V3.4.4。如果您有兴趣测试NuGet测试版。您可以访问:NuGet Distributions

  

Visual Studio 2015中NuGet包管理器的NuGet Beta通道使您可以访问接近完成的高质量构建。我们使用此渠道收集有关我们近期构建的反馈,建议那些想要尝试新功能的开发人员以及遇到阻塞问题且需要在RTM之前尽早访问更新版本的开发人员。