首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nuspec dependency allowedVersions?

nuspec dependency allowedVersions?
EN

Stack Overflow用户
提问于 2018-02-02 17:03:26
回答 1查看 294关注 0票数 3

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

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

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

如果我有version="6.0.0",它总是安装6版本?

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-27 18:22:17

可以使用version-range syntax在nuspec-file中指定可接受的版本范围。接受主版本在6和(包括)9之间的每个版本将由[6.0.0, 10.0.0)指定。

我从你的问题中理解的是,你想指定一个接受的版本范围,但你想强制安装某个版本。据我所知,没有办法实现这一点,但我也看不到对它的要求:通过指定一个可接受的版本范围,nuspec-file指定了这个包与哪些版本的依赖包兼容。因此,所有被接受的版本都应该可以工作。

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48579146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档