繁体   English   中英

dll和nuget包之间有什么区别?

[英]What's the difference between a dll and nuget package?

首先,如果这是一个基本问题,我道歉。 我试着看了这个,但由于某种原因,我更加困惑。 所以,我决定在这里问一下。 dll文件和nuget包是一样的吗? 它们是否只是在项目中被引用?

当您通过nuget包向项目添加功能时,您只需将文件添加到项目中。 它可以是javascript文件(如jQuery),项目引用的DLL(如Newtonsoft JSON),或者是一大堆东西(如Entity Framework或Owin / SignalR) - 真的。

使用nuget包系统的优势在于它可以为您追踪所有内容。 如果您添加的软件包收到更新,它会通知您,如果您从项目中取出软件包,它会删除文件并取消它们。 它为您处理所有这些,因此您不必跟踪nuget包添加的文件,将它们放在特殊文件夹中,确保它们在您的构建中被复制,所有这些都是微管理的东西。

来自文档, https://www.nuget.org

“什么是NuGet?NuGet是Microsoft开发平台的包管理器,包括.NET.NuGet客户端工具提供了生成和使用包的能力.NuGet Gallery是所有包作者和消费者使用的中央包存储库。”


除了其他资产(如配置文件等)之外,包还可以包含一个或多个dll。

您可以通过引用将库添加到项目中,但是在更新它们时您不会注意到。

NuGet是一个Visual Studio扩展,它不仅可以轻松地将库引入组件,而且最重要的是将它们的配置引入Visual Studio项目中。 它将帮助您管理项目中安装的软件包,并在软件包发布新版本时通知您。

假设我创建了自己的DLL,我可以通过引用添加自己的DLL。 但是,在我首先打包并发布它以使其在NuGet Package Gallery中可用之前,它将无法在NuGet中使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM