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

时间:2014-07-17 03:08:04

标签: c#

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

3 个答案:

答案 0 :(得分:23)

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

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

答案 1 :(得分:6)

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

  

“什么是NuGet?NuGet是微软的软件包管理器   开发平台包括.NET。 NuGet客户端工具提供   生产和消费包装的能力。 NuGet画廊是   所有包作者和消费者使用的中央包存储库。“


除了配置文件等其他资源外,包还可以包含一个或多个dll。

答案 2 :(得分:2)

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

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

假设我创建了自己的DLL,我可以通过引用添加自己的DLL。但是,在我首先打包并发布它以便在NuGet包图库中提供之前,它不会在NuGet中可用。