【问题标题】:Nuget is trying to restore wrong version of the package, skipping revision numberNuget 正在尝试恢复错误版本的包,跳过修订号
【发布时间】:2020-07-21 15:06:56
【问题描述】:

在我的项目中,我添加了一个带有版本 1.0.1.0 的包,因此在 packages.config 文件中添加了这样的包

<package id="Stylesoft.Common.Dev" version="1.0.1.0" targetFramework="net461" />

我使用的 nuget 源确实有这个包。但是当我尝试使用这样的 nuget restore 命令恢复解决方案的包时

nuget restore Solution.sln

它尝试恢复包Stylesoft.Common.Dev.1.0.1,所以在恢复时基本上会跳过最后一个零,即修订号,所以找不到它,所以失败了。

知道如何让 nuget 查找完整的确切版本包而不跳过最后一个零吗?

【问题讨论】:

  • 你的 Visual Studio 和 Nuget 版本是多少?
  • @Peska - nuget 版本 - 5.5.1.6542 和 Visual Studio 版本 - Visual Studio Professional 2019 版本 16.6.4

标签: .net nuget nuget-package-restore


【解决方案1】:

NuGet 3.4 发生了重大变化 https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#normalized-version-numbers

在安装过程中从存储库获取包时,重新安装, 或恢复操作,NuGet 3.4+ 处理版本号如下:

从版本号中删除前导零:

1.00 被视为 1.0 1.01.1 被视为 1.1.1 1.00.0.1 被视为 1.0.0.1

版本号第四部分的零将被省略

1.0.0.0 被视为 1.0.0 1.0.01.0 被视为 1.0.1

SemVer 2.0.0 构建元数据已删除

1.0.7+r3456 被视为 1.0.7

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    • 2013-06-10
    • 2010-11-15
    • 1970-01-01
    相关资源
    最近更新 更多