Nuget 3.4.4下载用于项目定位.NET Framework 4.6.1的.NET Standard 1.4库

时间:2016-09-15 19:54:49

标签: .net visual-studio-2015 nuget .net-standard .net-4.6.1

安装VS 2015更新3(和nuget 3.4.4)之后,我注意到当我导入依赖于.NETStandard 1.4的内容时,我的4.6.1项目中安装了更多依赖项。

由于.NET Framework 4.6.1实现了.NET Standard 1.4,为什么nuget会引入每个System.X程序集?难道不知道目标框架已经具备了它所需要的东西吗?

重现我所看到(并且感到困惑)的步骤:

  1. VS 2015 Update 3,将nuget升级到3.5-rc1(但您不必)。
  2. 面向.NET Framework 4.6.1的新控制台应用程序
  3. 安装包Microsoft.IdentityModel.Clients.ActiveDirectory
  4. 请注意,它依赖于.NET Standard 1.4(我的目标框架实现)
  5. 请注意包含的System.XSystem.IOSystem.CollectionsSystem.Linq等)。这似乎没有必要,在我更新nuget之前没有发生。

1 个答案:

答案 0 :(得分:0)

在我的Visual Studio 2015 Update 3中将我的NuGet软件包管理器降级到3.3版后,我发现当我在项目中安装Microsoft.IdentityModel.Clients.ActiveDirectory软件包时,没有将依赖项添加到我的项目中项目。所以这个问题是由NuGet版本引起的。

根据release note for NuGet 3.4,它开始于" 支持netstandard和netstandardapp框架标记"。这意味着NuGet 3.4启动支持.NET Standard和.NET Standard Framework相关的应用程序。

请将NuGet 3.3和NuGet 3.4或更高版本中的Dependencies部分与同一个软件包进行比较。在版本3.4之前,它显示" Unsupported",但从版本3.4开始,它显示" .NET标准,版本1.4"。这就是安装NuGet 3.4.4时将所有依赖项添加到项目中的原因。 enter image description here

相关问题