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



在Paket依赖组的示例中,通常有一个"main"和"test"组:

source https://api.nuget.org/v3/index.json
storage: none
framework: netcoreapp3.1, netstandard2.1
nuget FSharp.Core
nuget FParsec

group test
source https://api.nuget.org/v3/index.json
nuget FSharp.Core
nuget FParsec
nuget xunit 2.4.1
nuget FsUnit.xUnit 3.8.0

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

但是有没有办法说">匹配测试中nuget FParsec的版本和主要组"?

我不确定 - 但是如果您从测试组内部删除nuget FParsec并在paket.references中指定主组中的那个怎么办?

paket.references

FParsec
group test
xunit
FsUnit.xUnit

我建议你不要使用测试组,而是将测试库放在主组中。测试运行中使用的任何包都应与要测试的代码使用的版本匹配,因此无需单独解析依赖项。最新版本的 SAFE 模板遵循此方法。

如果您的项目/脚本实际上从不共享相同的运行时,则组会很有用。这就是 SAFE 模板使用生成组的原因:这些依赖项在 FAKE 脚本中使用,该脚本不直接依赖于应用代码的其余部分。

最新更新