gpt4 book ai didi

nuget - nuspec 依赖允许的版本?

转载 作者:行者123 更新时间:2023-12-01 09:35:28 31 4
gpt4 key购买 nike

我有一个构建 nuget 包的 nuspec 文件。我想控制依赖项,我允许一系列版本,但总是安装特定版本。

基本上是这样的(语法无效): <dependency id="Microsoft.CrmSdk.CoreAssemblies" version="8.2.0.2" allowedVersions="6.0.0" />

我希望 nuget 依赖项接受 6 或更高(最多 9),但始终希望它默认安装 8.2.0.2。

如果我有 version="6.0.0",它会始终安装 6 版本吗?

有什么建议吗?

最佳答案

可以在带有 version-range syntax 的 nuspec 文件中指定可接受的版本范围. [6.0.0, 10.0.0) 指定接受主要版本在 6 和(包括)9 之间的每个版本。

我从你的问题中了解到,你想要指定一个可接受的版本范围,但你想要强制安装某个版本。我不知道如何实现这一点,但我也没有看到它的要求:通过指定一个可接受的版本范围,nuspec 文件指定该包与哪些版本的依赖包兼容。因此,所有接受的版本都应该有效。

在我看来,强制安装某个版本与此兼容性声明相矛盾。这听起来好像您想实现一个不同的目标:验证应用程序中是否安装了一致版本的 NuGet 包。然而,这应该在消费端解决,即安装 NuGet 包的解决方案。假设 nuspec 文件定义了一个包 A,它接受来自 Microsoft.CrmSdk.CoreAssemblies 的所有版本 [6.0.0, 10.0.0),但消费解决方案应始终使用版本 8.2.0.2。那么这个版本 8.2.0.2 应该首先安装在那里,然后可以安装当前版本的包 A,发现它对 Microsoft.CrmSdk.CoreAssemblies 的依赖性已经解决。

为了实现一致的消费解决方案,我们在 CI 服务器上实现检查,以验证所有项目中的每个包都在一个版本中被引用。通过这种方式,我们可以获得一致的产品,同时保持实际 NuGet 包的灵 active ,以便与其他产品中不同版本的依赖包一起使用。

关于nuget - nuspec 依赖允许的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48579146/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com