【问题标题】:Why is nuget installing a bunch of system namespace references?为什么 nuget 安装一堆系统命名空间引用?
【发布时间】:2018-07-11 13:13:49
【问题描述】:

我正在尝试从 nuget 安装一个库。我预计可能有 3 或 4 个不同的依赖项,但它安装了一大堆 System 依赖项?

这是日志:

Attempting to gather dependency information for package 'TwitchLib.Client.2.1.4' with respect to project 'Twitch Logs', targeting '.NETFramework,Version=v4.6'
Attempting to resolve dependencies for package 'TwitchLib.Client.2.1.4' with DependencyBehavior 'Lowest'
Resolving actions to install package 'TwitchLib.Client.2.1.4'
Resolved actions to install package 'TwitchLib.Client.2.1.4'
Adding package 'Serilog.2.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'Serilog.2.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'Serilog.2.3.0' to 'packages.config'
Successfully installed 'Serilog 2.3.0' to Twitch Logs
Adding package 'System.Collections.4.0.11' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Collections.4.0.11' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Collections.4.0.11' to 'packages.config'
Successfully installed 'System.Collections 4.0.11' to Twitch Logs
Adding package 'System.Collections.Concurrent.4.0.12' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Collections.Concurrent.4.0.12' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Collections.Concurrent.4.0.12' to 'packages.config'
Successfully installed 'System.Collections.Concurrent 4.0.12' to Twitch Logs
Adding package 'System.Collections.Specialized.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Collections.Specialized.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Collections.Specialized.4.3.0' to 'packages.config'
Successfully installed 'System.Collections.Specialized 4.3.0' to Twitch Logs
Adding package 'System.Diagnostics.Debug.4.0.11' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Diagnostics.Debug.4.0.11' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Diagnostics.Debug.4.0.11' to 'packages.config'
Successfully installed 'System.Diagnostics.Debug 4.0.11' to Twitch Logs
Adding package 'System.Globalization.4.0.11' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Globalization.4.0.11' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Globalization.4.0.11' to 'packages.config'
Successfully installed 'System.Globalization 4.0.11' to Twitch Logs
Adding package 'System.Linq.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Linq.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Linq.4.3.0' to 'packages.config'
Successfully installed 'System.Linq 4.3.0' to Twitch Logs
Adding package 'System.Net.NameResolution.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Net.NameResolution.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Net.NameResolution.4.3.0' to 'packages.config'
Successfully installed 'System.Net.NameResolution 4.3.0' to Twitch Logs
Adding package 'System.Net.Sockets.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Net.Sockets.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Net.Sockets.4.3.0' to 'packages.config'
Successfully installed 'System.Net.Sockets 4.3.0' to Twitch Logs
Adding package 'System.Reflection.4.1.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Reflection.4.1.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Reflection.4.1.0' to 'packages.config'
Successfully installed 'System.Reflection 4.1.0' to Twitch Logs
Adding package 'System.Resources.ResourceManager.4.0.1' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Resources.ResourceManager.4.0.1' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Resources.ResourceManager.4.0.1' to 'packages.config'
Successfully installed 'System.Resources.ResourceManager 4.0.1' to Twitch Logs
Adding package 'System.Runtime.Extensions.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Runtime.Extensions.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Runtime.Extensions.4.3.0' to 'packages.config'
Successfully installed 'System.Runtime.Extensions 4.3.0' to Twitch Logs
Adding package 'System.Runtime.InteropServices.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Runtime.InteropServices.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Runtime.InteropServices.4.3.0' to 'packages.config'
Successfully installed 'System.Runtime.InteropServices 4.3.0' to Twitch Logs
Adding package 'Microsoft.Extensions.Logging.Abstractions.1.0.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'Microsoft.Extensions.Logging.Abstractions.1.0.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'Microsoft.Extensions.Logging.Abstractions.1.0.0' to 'packages.config'
Successfully installed 'Microsoft.Extensions.Logging.Abstractions 1.0.0' to Twitch Logs
Adding package 'Serilog.Extensions.Logging.2.0.2' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'Serilog.Extensions.Logging.2.0.2' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'Serilog.Extensions.Logging.2.0.2' to 'packages.config'
Successfully installed 'Serilog.Extensions.Logging 2.0.2' to Twitch Logs
Adding package 'System.Security.Cryptography.Encoding.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Security.Cryptography.Encoding.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Security.Cryptography.Encoding.4.3.0' to 'packages.config'
Successfully installed 'System.Security.Cryptography.Encoding 4.3.0' to Twitch Logs
Adding package 'System.Security.Cryptography.Primitives.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Security.Cryptography.Primitives.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Security.Cryptography.Primitives.4.3.0' to 'packages.config'
Successfully installed 'System.Security.Cryptography.Primitives 4.3.0' to Twitch Logs
Adding package 'System.Security.Cryptography.Algorithms.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Security.Cryptography.Algorithms.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Security.Cryptography.Algorithms.4.3.0' to 'packages.config'
Successfully installed 'System.Security.Cryptography.Algorithms 4.3.0' to Twitch Logs
Adding package 'System.Security.Cryptography.X509Certificates.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Security.Cryptography.X509Certificates.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Security.Cryptography.X509Certificates.4.3.0' to 'packages.config'
Successfully installed 'System.Security.Cryptography.X509Certificates 4.3.0' to Twitch Logs
Adding package 'System.Net.Security.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Net.Security.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Net.Security.4.3.0' to 'packages.config'
Successfully installed 'System.Net.Security 4.3.0' to Twitch Logs
Adding package 'SuperSocket.ClientEngine.Core.0.10.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'SuperSocket.ClientEngine.Core.0.10.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'SuperSocket.ClientEngine.Core.0.10.0' to 'packages.config'
Successfully installed 'SuperSocket.ClientEngine.Core 0.10.0' to Twitch Logs
Adding package 'System.Text.RegularExpressions.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Text.RegularExpressions.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Text.RegularExpressions.4.3.0' to 'packages.config'
Successfully installed 'System.Text.RegularExpressions 4.3.0' to Twitch Logs
Adding package 'System.Threading.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Threading.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Threading.4.3.0' to 'packages.config'
Successfully installed 'System.Threading 4.3.0' to Twitch Logs
Adding package 'System.Threading.Timer.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Threading.Timer.4.3.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'System.Threading.Timer.4.3.0' to 'packages.config'
Successfully installed 'System.Threading.Timer 4.3.0' to Twitch Logs
Adding package 'TwitchLib.Client.Enums.1.0.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'TwitchLib.Client.Enums.1.0.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'TwitchLib.Client.Enums.1.0.0' to 'packages.config'
Successfully installed 'TwitchLib.Client.Enums 1.0.0' to Twitch Logs
Adding package 'TwitchLib.Client.Models.1.0.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'TwitchLib.Client.Models.1.0.0' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'TwitchLib.Client.Models.1.0.0' to 'packages.config'
Successfully installed 'TwitchLib.Client.Models 1.0.0' to Twitch Logs
Adding package 'WebSocket4Net.0.15.2' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'WebSocket4Net.0.15.2' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'WebSocket4Net.0.15.2' to 'packages.config'
Successfully installed 'WebSocket4Net 0.15.2' to Twitch Logs
Adding package 'TwitchLib.Client.2.1.4' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'TwitchLib.Client.2.1.4' to folder '\\jgdc01\Users\RyanPearce\Documents\Visual Studio 2015\Projects\Twitch Logs\packages'
Added package 'TwitchLib.Client.2.1.4' to 'packages.config'
Successfully installed 'TwitchLib.Client 2.1.4' to Twitch Logs
========== Finished ==========

这最终使我的 packages 文件夹超过 100mb 充满了不需要的库。

以前从未经历过。

有什么想法吗?

【问题讨论】:

  • 这很正常,只是所有库的依赖...
  • 这是因为该库以 .NET Standard 为目标。在 .NET Standard 中,您的应用程序拥有它需要的所有库,而不是依赖于 Windows 提供的版本(因为应用程序可能无法在 Windows 上运行)
  • @CamiloTerevinto,恐怕是依赖包WebSocket4Net的问题。因为这个项目的目标是`.NETFramework,Version=v4.6'。似乎这个包将 .NETStandard 1.3 的依赖项拉到了 .net 框架项目中。我在github.com/OData/odata.net/issues/953 之前看到过这个问题。如果我弄错了,请免费告诉我。 :)

标签: c# visual-studio nuget


【解决方案1】:

为什么 nuget 会安装一堆系统命名空间引用?

恐怕这可能是包TwitchLib.ClientWebSocket4NetSuperSocket.ClientEngine.Core的依赖问题。

查看错误日志后,可以看到如下信息:

试图收集包的依赖信息 'TwitchLib.Client.2.1.4' 相对于项目'Twitch Logs', 定位 '.NETFramework,Version=v4.6'

表示目标框架是.NET 4.6而不是.NET Standard

为了重现这个问题,我创建了一个项目目标.net 4.6,然后安装了nuget包WebSocket4Net但是,确认窗口显示它列出了安装部分下的依赖项,这似乎从 WebSocket4Net .NETStandard 1.3 依赖列表中提取:

NuGet install the wrong dependencies之前已经报过类似的问题,你可以尝试将Microsoft.Data.Services.Client 5.8.2安装到.net 4.5.2的C#项目中。此问题已在 5.8.3 版本中修复。

所以,为了解决这个问题,我们需要联系这个包的作者来更新这个包。 SuperSocket.ClientEngine.Core 包也有同样的问题。

注意:如果您不想将这些系统依赖项添加到您的项目中,您可以将它们从您的项目中删除。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-08
    • 1970-01-01
    • 2023-02-26
    • 2016-12-04
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 2011-12-30
    相关资源
    最近更新 更多