安装VS 2015更新3(和nuget 3.4.4)后,我注意到更多依赖项被安装到我的4.6.1项目中时我导入了一些依赖于.NETStandard 1.4
的东西。Nuget 3.4.4下载用于项目定位的.NET标准1.4库.NET Framework 4.6.1
由于.NET Framework 4.6.1实现.NET Standard 1.4,为什么nuget引入每个System.X
程序集?它不应该知道目标框架已经有了它所需要的吗?
步骤来重现我看到什么(困惑):
- VS 2015更新3,升级到的NuGet 3.5 RC1(但你没有)。
- 新控制台应用程序针对.NET框架4.6.1
- 安装,包装
Microsoft.IdentityModel.Clients.ActiveDirectory
- 注意到它在.NET 1.4标准(其中我的目标框架实现)
- 通知的
System.X
(System.IO
,System.Collections
依赖,System.Linq
等)。这似乎没有必要,我没有更新nuget之前发生。
这些额外的依赖关系是什么?请告诉我们有这个问题的具体软件包,这可以让我们在我们这边确认这个问题。另外,VS2015 Update 3中的最新版本NuGet是3.5版本。请升级到3.5版以检查此问题是否仍然存在。 –
VS 2015 Update 3安装了Nuget 3.4.4,而不是3.5。 Nuget 3.5仍在RC中,上面仍然存在这个问题。在安装VS Update 3之前,在添加Microsoft.IdentityModel.Clients.ActiveDirectory nuget包时,依赖链中不包含额外的Core库。安装Update 3后,Core库开始添加到依赖关系链中。我安装了Nuget 3.5 RC并且有同样的问题。为什么在添加.Net Standard 1.4库以.Net 4.6.1为目标时,将Core库作为依赖包含在内? –
如果没有人能解释它,这听起来应该将它作为一个问题提交给nuget。我会再给它几天;也许我错过了一些东西。 – Kevin