我刚刚从(一个较旧的)Microsoft.Bcl.Immutable
NuGet 包切换到System.Collections.Immutable
并惊讶地发现我的项目中的所有这些新包依赖项:
System.Collections
System.Diagnostics.Debug
System.Globalization
System.Linq
System.Resources.ResourceManager
System.Runtime
System.Runtime.Extensions
System.Threading
它们被列为 NuGet 包的依赖项,因此它们有权在那里,但它们显然也已经安装在我的 PC 和我的目标环境 (Azure btw) 上,因为它们随框架一起提供。
我的项目中已经有大量的包,如果可能的话,我希望避免这 8 个包造成的额外开销(并且不会让自己陷入困境)。
删除这些依赖项是否安全?
我现在是否必须在整个项目中使用这些包,因为它们可能与其安装的版本不同,并且我的项目的某些部分现在可能使用了错误的包?(由于某些 DLL 链接疯狂?)
编辑:只是为了完整性,因为之前有评论:依赖项是实际的包(不是命名空间)并且必须下载,我的目标是使用 .NET 4.6 进行编译,在 VS2015 中工作。尽管某些东西已经过时并且不必正常加载包,但这完全有可能吗?