F# 在Paket依赖组之间共享版本?

F# 在Paket依赖组之间共享版本?,f#,paket,F#,Paket,在Paket依赖组的示例中,通常有“主”和“测试”组: 为了在库代码和测试代码中都使用依赖项,我可以将它添加到这两个组中 但是有没有办法说“在测试中匹配nuget FParsec的版本和主要组”我不确定-但是如果您从测试组内部删除nuget FParsec,并在paket.references中指定主要组中的版本呢 paket.references FParsec group test xunit FsUnit.xUnit 我建议您不要使用测试组,而是将测试库放在主组中。测试

在Paket依赖组的示例中,通常有“主”和“测试”组:

为了在库代码和测试代码中都使用依赖项,我可以将它添加到这两个组中


但是有没有办法说“在测试中匹配
nuget FParsec
的版本和主要组”

我不确定-但是如果您从测试组内部删除
nuget FParsec
,并在paket.references中指定主要组中的版本呢

paket.references

FParsec

group test
    xunit
    FsUnit.xUnit

我建议您不要使用测试组,而是将测试库放在主组中。测试运行中使用的任何包都应该与被测试代码使用的版本相匹配,因此不需要单独解析依赖关系。委员会遵循这一方法


如果您的项目/脚本实际上从不共享同一个运行时,则组可能非常有用。这就是安全模板使用构建组的原因:这些依赖项被用于假脚本中,而不是直接依赖于应用程序代码的其余部分。

有趣。那么,如果依赖项分为两个组(直接或传递),并解析为不同的版本,会发生什么情况呢?测试库与主组的关系如何?我认为,只要FParsec只在主组中,将这两个东西分开是完全有意义的。你不能在.NET中同时运行同一个库的两个版本。因此,测试库与主组相关,因为测试代码同时运行这两个库。这里有一个单独的测试组对您有什么好处?我能想到的第一个好处是不为生产构建恢复测试包。也许它不再有意义了,因为已经有了构建优化选项来处理这个问题。。。没关系,我只是好奇:)
FParsec

group test
    xunit
    FsUnit.xUnit