首页 文章

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

提问于
浏览
3

安装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 程序集?它不应该知道目标框架已经拥有它需要的东西吗?

Steps to reproduce what I'm seeing (and confused about):

  • VS 2015 Update 3,将nuget升级到3.5-rc1(但您不必) .

  • 针对.NET Framework 4.6.1的新控制台应用程序

  • 安装包 Microsoft.IdentityModel.Clients.ActiveDirectory

  • 注意它依赖于.NET Standard 1.4(我的目标框架实现了)

  • 注意包含的 System.XSystem.IOSystem.CollectionsSystem.Linq 等) . 在我更新nuget之前没有发生这种情况 .

1 回答

  • 0

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

    根据release note for NuGet 3.4,它以“ Support for the netstandard and netstandardapp framework monikers ”开头 . 这意味着NuGet 3.4启动支持.NET Standard和.NET Standard Framework相关的应用程序 .

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

相关问题