【问题标题】:Nuget install fails for pre-release package with dependencies具有依赖项的预发布包的 Nuget 安装失败
【发布时间】:2015-04-02 19:16:47
【问题描述】:

我有两个预发布的 nuget 包 A.nuget 和 B.nuget,B 依赖于 A。

安装 A.nuget 的工作原理:
nuget.exe install A -Source E:\out\packages -OutputDirectory e:\NugetCache -Prerelease -PackageSaveMode nuspec;nupkg

安装 B.nuget 失败:
nuget.exe install B -Source E:\out\packages -OutputDirectory e:\NugetCache -Prerelease -PackageSaveMode nuspec;nupkg

Unable to resolve dependency 'A.1.0.0.196-moma159241025'

我仔细检查了一下,A.1.0.0.196-moma159241025 安装在 e:\NugetCache 下。

我该如何解决这个错误?

【问题讨论】:

  • 您的操作顺序是什么?您首先安装的是 A.nuget 还是 B.nuget?
  • A先安装。
  • 到目前为止,我只有在有可用的非预发布版本可供升级时才设法解决此问题。

标签: nuget


【解决方案1】:

我用来解决这个问题的解决方法是使用 -IgnoreDependencies 开关,这意味着无论 Nuget 是否可以找到它们,所选包都将安装而没有其依赖项。

  • 安装“B”依赖的所有包(包括“A”)
  • 使用 -IgnoreDependencies 开关安装包“B”

    安装包 A -IncludePrerelease
    安装包 SomeDependencyFromB
    安装包 SomeOtherDependencyFromB
    安装包 B -IncludePrerelease -IgnoreDependencies

https://docs.nuget.org/consume/package-manager-console-powershell-reference

【讨论】:

  • 不幸的是,他没有使用 NuGet PowerShell cmdlet,他使用的是nuget.exe。 AFAICT,无法忽略 nuget.exe 的依赖关系。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-04
  • 1970-01-01
  • 2017-10-31
  • 2016-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多