该场景是使用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)'.
我的问题是,从预发布版本的软件包管理依赖项的正确方法是什么?
谢谢.
对我来说,这是 NuGet 的一个明显错误,因为即使您显式添加对 PackageB 6.0.0-unstablewhatever 的引用,NuGet 也会声称这些包不兼容。
或者,更准确地说,如果您使用包引用,它就会这样做。如果您使用旧的 package.config 格式,NuGet 很乐意接受预发布包。