首页 > 解决方案 > 在 Visual Studio 中添加引用和将 Nuget 包添加到项目之间的区别

问题描述

我有一个 VS (2015) 项目。我看到我的项目的解决方案资源管理器视图中有一个“参考”部分,其中包括诸如 System.Core 之类的内容。我假设这些是已添加到项目中的 .dll?

我还可以右键单击项目文件(再次在解决方案资源管理器中)并选择“管理 NuGet 包”选项。我知道 NuGet 允许我将外部代码添加到我的项目中(例如,外部 .dll 和相关文件)。

添加对我的项目的引用和向我的项目添加 .nupkg 有什么区别?仅仅是.nupkg 可以包含除了.dll 之外的一大堆其他东西(例如文档)吗?我为什么要使用其中一个?

标签: visual-studionugetexternal

解决方案


添加对我的项目的引用和向我的项目添加 .nupkg 有什么区别?

NuGet 本质上与手动添加引用没有什么区别,最终添加了对项目的引用。它是一个自动向我们添加程序集并对其进行管理的工具,有效地提高了我们开发项目的效率。

有关更多详细信息,您可以查看有关 nuget 的文档

简而言之,NuGet 包是带有 .nupkg 扩展名的单个 ZIP 文件,其中包含编译代码 (DLL)、与该代码相关的其他文件,以及包含包版本号等信息的描述性清单。具有共享代码的开发人员创建包并将它们发布到公共或私有主机。包消费者从合适的主机获取这些包,将它们添加到他们的项目中,然后在他们的项目代码中调用包的功能。然后,NuGet 本身会处理所有中间细节。

由于 NuGet 支持私有主机以及公共 nuget.org 主机,因此您可以使用 NuGet 包来共享组织或工作组专有的代码。您还可以使用 NuGet 包作为一种方便的方式来分解您自己的代码,以便仅在您自己的项目中使用。简而言之,NuGet 包是可共享的代码单元,但不需要也不暗示任何特定的共享方式。

.

仅仅是 .nupkg 可以包含除 .dll 之外的一大堆其他东西(例如文档)吗?

是的,NuGet 包可以在包中包含指定文件。

我为什么要使用其中一个?

Nuget 提供了几个额外的好处:

  • 它通过添加对必要程序集的引用、创建和添加项目文件(例如配置)等来自动配置您的项目。
  • 它提供包更新
  • 它非常方便地完成所有这一切

我敢肯定,一旦你使用它,你就会意识到它有很多好处。

查看为什么使用 NuGet了解更多详细信息。

希望这可以帮助。


推荐阅读