我刚刚从(旧的)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)上,因为它们随着框架一起提供。
我已经在我的项目中有大量的包,并且希望如果可能的话避免由这8个包引起的额外开销(而不会让自己吃亏)。
移除这些依赖项是否安全?
现在是否必须在整个项目中使用这些包,因为它们可能与已安装的版本不同,因此我的项目的某部分现在可能使用错误的包?(由于某些DLL链接问题?)
编辑:只是为了完整起见,因为之前有一条评论:这些依赖项是实际的包(而不是命名空间),必须下载它们,我正在针对并编译.NET 4.6,在VS2015中工作。尽管如此,有可能某些东西已经过时,这些包不必正常加载吗?
Immutable
的项目中)。即使有 - 是否需要进行程序集重定向?由于我目标是.NET 4.6,所有这些DLL都保证存在(至少现在要求是>= 4.0.0)。除此之外,我相信NuGet在解析依赖关系时不考虑app.configs
- 是这样吗? - enzi