在Visual Studio中向项目添加引用和添加Nuget包之间的区别

时间:2018-10-19 19:31:59

标签: visual-studio nuget external

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

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

向项目添加引用和向项目添加.nupkg有什么区别?仅仅是.nupkg可以包含.dll以外的其他所有内容(例如文档)?为什么要使用其中一个?

1 个答案:

答案 0 :(得分:1)

  

添加对我的项目的引用与   在我的项目中添加.nupkg?

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

有关更多详细信息,您可以检查the document about nuget

  

简单地说,NuGet程序包是一个扩展名为.nupkg的单个ZIP文件,其中包含编译代码(DLL),与该代码相关的其他文件以及描述性清单,其中包括诸如程序包的版本号之类的信息。具有共享代码的开发人员可以创建软件包并将其发布到公共或私有主机。 程序包使用者可以从合适的主机获取程序包,将其添加到他们的项目中,然后在其项目代码中调用程序包的功能。然后,NuGet本身会处理所有中间细节。

     

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

  

.nupkg可以包含一堆其他东西吗?   来自.dll(例如文档)?

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

  

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

Nuget提供了其他一些好处:

  • 它会通过添加对以下内容的引用来自动配置您的项目 必要的程序集,创建和添加项目文件(例如 配置)等。
  • 它提供软件包更新
  • 这一切都非常方便

我确定一旦使用它,您就会意识到它有很多好处。

检查Why use NuGet了解更多详细信息。

希望这会有所帮助。