是否可以从 paket.lock 中删除不相关的限制?

Is it possible to remove irrelevant restrictions from paket.lock?

我发现我的 paket.lock 文件包含很多我不关心的东西,例如:

System.Memory (>= 4.5.3) - restriction: || 
(&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) 
(&& (< net45) (< netcoreapp2.1) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) 
(>= net46) 
(>= uap10.1)

我不想去想 monoandroidwpa81uap10.1 等等,在我最近得到之后很难理解那里到底发生了什么一些依赖冲突。我想要一些整洁的东西,例如像 this.

我阅读了一些文档并尝试了 paket.dependencies 中的 framework restrictionframework: netstandard20, netcoreapp30。 但在paket install之后并没有真正改变多少。我曾尝试将此添加到每个组 - 也无济于事。我尝试了 运行 paket updatepaket simplify,我尝试删除锁定文件并再次 paket install 一切。

我是不是做错了什么,比如没有向 paket.dependencies 添加方向或 运行 错误的 paket 命令?

还是事情就是这样?

paket.lock 文件中的这些声明并非无关紧要。你看到这个是因为你直接或隐含地依赖的 System.Memory 包有 a lot of targets it can run on。 Paket 正在解析包并正确序列化解析规则。如果您将来执行多目标之类的操作,并且包不支持其中一个目标,您将正确地获得包解析失败。但是,如果您删除这些,您可能会以运行时失败告终。