C# 为什么NuGet下载看起来不必要的依赖项?

C# 为什么NuGet下载看起来不必要的依赖项?,c#,nuget,C#,Nuget,安装System.Collections.ImmutableNuGet会下载类似System.Runtime的程序集,即使我已经在.NET 4.6.1中安装了该程序集 另外,lib下的目录(如packages\System.Runtime.4.0.0\lib\net45)不包含dll文件,只包含名为.\ucode>的空文件 为什么会这样?为什么这是必要的?我错过了什么 NuGet日志: Install-Package System.Collections.Immutable -Version 1

安装
System.Collections.Immutable
NuGet会下载类似
System.Runtime
的程序集,即使我已经在.NET 4.6.1中安装了该程序集

另外,lib下的目录(如packages\System.Runtime.4.0.0\lib\net45)不包含dll文件,只包含名为
.\ucode>的空文件

为什么会这样?为什么这是必要的?我错过了什么

NuGet日志:

Install-Package System.Collections.Immutable -Version 1.1.37
Attempting to gather dependency information for package 'System.Collections.Immutable.1.1.37' with respect to project 'ConsoleApplication1', targeting '.NETFramework,Version=v4.6.1'
Attempting to resolve dependencies for package 'System.Collections.Immutable.1.1.37' with DependencyBehavior 'Lowest'
Resolving actions to install package 'System.Collections.Immutable.1.1.37'
Resolved actions to install package 'System.Collections.Immutable.1.1.37'
  GET https://www.nuget.org/api/v2/package/System.Collections/4.0.0
Installing System.Collections 4.0.0.
Adding package 'System.Collections.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Collections.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Collections.4.0.0' to 'packages.config'
Successfully installed 'System.Collections 4.0.0' to ConsoleApplication1
  GET https://www.nuget.org/api/v2/package/System.Diagnostics.Debug/4.0.0
Installing System.Diagnostics.Debug 4.0.0.
Adding package 'System.Diagnostics.Debug.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Diagnostics.Debug.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Diagnostics.Debug.4.0.0' to 'packages.config'
Successfully installed 'System.Diagnostics.Debug 4.0.0' to ConsoleApplication1
  GET https://www.nuget.org/api/v2/package/System.Globalization/4.0.0
Installing System.Globalization 4.0.0.
Adding package 'System.Globalization.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Globalization.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Globalization.4.0.0' to 'packages.config'
Successfully installed 'System.Globalization 4.0.0' to ConsoleApplication1
  GET https://www.nuget.org/api/v2/package/System.Linq/4.0.0
Installing System.Linq 4.0.0.
Adding package 'System.Linq.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Linq.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Linq.4.0.0' to 'packages.config'
Successfully installed 'System.Linq 4.0.0' to ConsoleApplication1
  GET https://www.nuget.org/api/v2/package/System.Resources.ResourceManager/4.0.0
Installing System.Resources.ResourceManager 4.0.0.
Adding package 'System.Resources.ResourceManager.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Resources.ResourceManager.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Resources.ResourceManager.4.0.0' to 'packages.config'
Successfully installed 'System.Resources.ResourceManager 4.0.0' to ConsoleApplication1
  GET https://www.nuget.org/api/v2/package/System.Runtime/4.0.0
Installing System.Runtime 4.0.0.
Adding package 'System.Runtime.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Runtime.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Runtime.4.0.0' to 'packages.config'
Successfully installed 'System.Runtime 4.0.0' to ConsoleApplication1
  GET https://www.nuget.org/api/v2/package/System.Runtime.Extensions/4.0.0
Installing System.Runtime.Extensions 4.0.0.
Adding package 'System.Runtime.Extensions.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Runtime.Extensions.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Runtime.Extensions.4.0.0' to 'packages.config'
Successfully installed 'System.Runtime.Extensions 4.0.0' to ConsoleApplication1
  GET https://www.nuget.org/api/v2/package/System.Threading/4.0.0
Installing System.Threading 4.0.0.
Adding package 'System.Threading.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Threading.4.0.0' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Threading.4.0.0' to 'packages.config'
Successfully installed 'System.Threading 4.0.0' to ConsoleApplication1
  GET https://www.nuget.org/api/v2/package/System.Collections.Immutable/1.1.37
Installing System.Collections.Immutable 1.1.37.
Adding package 'System.Collections.Immutable.1.1.37' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Collections.Immutable.1.1.37' to folder 'd:\workspace\ConsoleApplication1\packages'
Added package 'System.Collections.Immutable.1.1.37' to 'packages.config'
Successfully installed 'System.Collections.Immutable 1.1.37' to ConsoleApplication1
我认为这是因为dotnetcore/cli带来的变化。它是维护依赖链,这在donet core中更为重要,因为您没有完全安装的框架。这就解释了为什么
lib\net45
文件夹是空的,因为它们是安装在您机器上的BCL的一部分,所以实际上没有什么可包括的