情景是使用NuGet进行包管理。
假设您有一个依赖于PackageB的PackageA,您发布了它们两个,因此每当您发布PackageA时,都会指定PackageB的版本范围。
现在这两个包都会随着Build自动发布,并使用SemVer(GitVersion.exe),PackageA的6.0.0版本声明需要至少6.0.0版本的Package B。如果包处于稳定版本,则可以完美地工作。
实际上,对于这两个包来说,没有6.x.x稳定版本可用,如果我安装PackageA的预发行版本,它会抱怨因为它需要至少6.0.0版本的PackageB,但是packageB只有6.0.0-prerelease版本。
这里是错误信息。
无法解析依赖项。'PackageB 6.0.0-unstable0066'与'PackageA 6.0.0-unstable0015约束:PackageB(> = 6.0.0)'不兼容。
我的问题是,如何正确地管理预发布版本的包依赖关系?
谢谢。
假设您有一个依赖于PackageB的PackageA,您发布了它们两个,因此每当您发布PackageA时,都会指定PackageB的版本范围。
现在这两个包都会随着Build自动发布,并使用SemVer(GitVersion.exe),PackageA的6.0.0版本声明需要至少6.0.0版本的Package B。如果包处于稳定版本,则可以完美地工作。
实际上,对于这两个包来说,没有6.x.x稳定版本可用,如果我安装PackageA的预发行版本,它会抱怨因为它需要至少6.0.0版本的PackageB,但是packageB只有6.0.0-prerelease版本。
这里是错误信息。
无法解析依赖项。'PackageB 6.0.0-unstable0066'与'PackageA 6.0.0-unstable0015约束:PackageB(> = 6.0.0)'不兼容。
我的问题是,如何正确地管理预发布版本的包依赖关系?
谢谢。
<dependency id="PackageB" version="[6.0.0-unstable00011,)" />
- Matt Ward