【发布时间】:2017-01-09 16:31:34
【问题描述】:
我有一个包依赖情况如下: 错误:
尝试收集包“PkgB.2.0.414”与项目“test Nuget Package Usage”相关的依赖信息,目标是“.NETFramework,Version=v4.5” 尝试使用 DependencyBehavior 'Lowest' 解决包 'PkgB.2.0.414' 的依赖关系 无法解析依赖项“PkgC.1.0.0”。使用的源:“nuget.org”、“公司包源”、“本地测试”、“Microsoft 和 .NET”、“Microsoft Visual Studio 离线包”。
情况 A: PkgA=>PkgC
情况 B: PkgB=>PkgA=>PkgC
当我安装情况 A 时,它可以工作。当我安装情况 B 时,它可以工作。但是如果我安装 A 然后 B 它无法找到 Pkg C,即使它已经安装并且工作正常。
记住以下环境:
这些都是可以单独和单独安装的软件包。 此问题仅在使用 NuGet 源服务器时发生。 使用包共享作为安装源我没有这个问题。
来源: 我查看了有关版本控制和最接近算法的 NuGet 文档,但我不知道我会如何违反它。
而且我也看不出指定版本的重要性。 https://docs.nuget.org/ndocs/create-packages/dependency-versions#dependency-versions
我自己的结论:
似乎问题在于提要服务器以及它如何找到依赖项。我正在查看 git 上的 NuGet.Server 源代码,但还没有注意到任何内容。我可能最终会找出源头并弄清楚。
这种情况不应该不管 Feed 源的类型都有效吗?
编辑:
这是一个私人 nuget 提要和私人 nuget,它们不在我可以公开分享的任何存储库中。
我使用这里引用的版本 >= 表示法来构建整个情况的参考树。
<!-- Accepts any version 6.1 and above -->
<dependency id="ExamplePackage" version="6.1" />
【问题讨论】:
-
PkgA、PkgB、PkgC都是依赖包还是它们之间有一些依赖关系?如果可能,请在此处分享这些包(不是您的 nuget 提要)以帮助我们重现此问题。
-
Wendy 我在上面列出了依赖项,但我没有具体说明它们是依赖项。情况A:PkgA=>PkgC 情况B:PkgB=>PkgA=>PkgC 是依赖行,也是安装情况。
标签: .net visual-studio-2015 nuget nuget-package