Nuree预发布包之间的依赖关系

时间:2016-04-26 12:20:14

标签: c# .net nuget

该场景是使用NuGet进行包管理。

假设你有依赖于PackageB的PackageA,你发布它们,所以每当你发布PackageA时,你都要指定你所依赖的软件包B的版本范围。

现在两个软件包都是使用Build自动发布的,并且他们使用SemVer(GitVersion.exe),PackageA的6.0.0版声明它至少需要软件包B的6.0.0版本。处于稳定版本。

实际上两个软件包都没有6.xx稳定版本,如果我安装了PackageA的预发布版本,它会抱怨因为它至少需要6.0版本的packageB,但是packageB只有6.0.0-prerelease版本

这是错误。

Unable to resolve dependencies. 'PackageB 6.0.0-unstable0066' is not compatible with 'PackageA 6.0.0-unstable0015 constraint: PackageB (>= 6.0.0)'.

我的问题是,从预发布版本的软件包管理依赖项的正确方法是什么?

感谢。

1 个答案:

答案 0 :(得分:2)

对我来说,这是NuGet的一个明显错误,因为即使您明确添加了对PackageB 6.0.0的引用,但无论如何,NuGet都声称这些软件包不兼容。

或者,更确切地说,如果您使用的是包引用,则这样做。如果您使用旧的package.config格式,NuGet很乐意接受预发行版软件包。