enz*_*nzi 24 .net c# nuget nuget-package immutable-collections
我只是从(一个较旧的)Microsoft.Bcl.ImmutableNuGet包切换到System.Collections.Immutable并且很惊讶在我的项目中找到所有这些新的包依赖项:
System.Collections
System.Diagnostics.Debug
System.Globalization
System.Linq
System.Resources.ResourceManager
System.Runtime
System.Runtime.Extensions
System.Threading
Run Code Online (Sandbox Code Playgroud)
它们被列为NuGet包的依赖项,因此它们有权在那里,但它们显然也已经安装在我的PC和我的目标环境(Azure btw)上,因为它们随框架一起提供.
我已经在我的项目中有大量的软件包,并且如果可能的话,我希望避免由这8个软件包引起的额外开销(并且不会在脚下拍摄自己).
删除这些依赖项是否安全?
我现在是否必须在整个项目中使用这些软件包,因为它们可能与已安装的版本不同,我的项目的某些部分现在可能使用了错误的软件包?(由于某些DLL连接疯狂?)
编辑:只是为了完整性,因为之前有一个评论:依赖项是实际的包(不是名称空间),必须下载,我的目标是使用.NET 4.6进行编译,在VS2015中工作.虽然有些东西已经过时且包装不需要正常加载,但这是完全可能的吗?
Han*_*ant 24
你只是看到Nuget包的副作用必须让很多人开心.该软件包支持大量目标,最近迅速扩散.我看到Xamarin支持OSX和iOS,Windows Phone 8.0和8.1,Windows Store,CoreCLR(开源项目),.NET 4.5,MonoTouch for iOS和Android以及.NETCore(Silverlight).
这些依赖包只包含引用程序集,通常安装在c:\ program files x86\reference程序集目录中.Nuget包不会错过这样的参考组件,包括整个套件和kaboodle.
全部下载完成后,程序包安装程序将运行并添加项目中实际需要的引用.很容易看到发生了什么,只需打开项目的References节点即可.如果您的目标是.NET 4.5及更高版本的桌面版本,则添加引用的总数就是一个,只需要System.Collections.Immutable.是的,你可以删除它们.
| 归档时间: |
|
| 查看次数: |
7279 次 |
| 最近记录: |