我已经将Argu添加到我的项目中,下载了大约700MB的包。这与框架相关,但是我想理解使用>=或仅使用Paket installs extra packages:net46来指定框架限制的细微差别。
在我的第一次尝试中,我只是将Argu添加到paket.dependencies文件中:
nuget Argu
由于这导致了几乎1 GB的包下载,我问道:
.\.paket\paket.exe why nuget System.Threading.Thread
帕克特回答说:
Paket version 3.27.02
NuGet System.Threading.Thread is a transitive dependency.
It's a part of following dependency chains:
-> Argu
-> FSharp.Core
-> System.Threading.Thread
-> MathNet.Numerics.FSharp
-> FSharp.Core
-> System.Threading.Thread
0 seconds - ready. 然后,我向paket.dependencies添加了以下限制:
nuget Argu framework: >= net46
然而,这导致下载相同的包。
最后我做到了:
nuget Argu framework: net46
这个特定的限制确实删除了所有不必要的包:
Garbage collecting Microsoft.NETCore.Platforms
Garbage collecting Microsoft.Win32.Primitives
Garbage collecting NETStandard.Library
Garbage collecting System.AppContext
Garbage collecting System.Collections.Concurrent
...然而,我的所有其他依赖项都是这样指定的(主要是结果,但并不总是如此,因为我正在排除原始问题的故障):
source https://www.nuget.org/api/v2
nuget FAKE framework: >= net46
nuget FileHelpers framework: >= net46
nuget FSharp.Collections.ParallelSeq 1.0.2 framework: >= net46
nuget Fsharp.Data framework: >= net46
nuget MathNet.Numerics.FSharp 3.14.0-beta01 beta framework: >= net46
nuget MathNet.Numerics.MKL.Win-x64 2.2.0 framework: >= net46
nuget NuGet.CommandLine framework: >= net46
nuget Streams 0.4.1 framework: >= net46
nuget System.Linq.Dynamic 1.0.7 framework: >= net46
nuget Fsharp.Configuration framework: >= net46所以我的问题在某种程度上是Argu特殊的,或者我应该总是使用框架限制,并特别针对46 (或45)而不是>=。
https://stackoverflow.com/questions/41236933
复制相似问题