visual-studio - 在 Visual Studio 中添加引用和将 Nuget 包添加到项目之间的区别
问题描述
我有一个 VS (2015) 项目。我看到我的项目的解决方案资源管理器视图中有一个“参考”部分,其中包括诸如 System.Core 之类的内容。我假设这些是已添加到项目中的 .dll?
我还可以右键单击项目文件(再次在解决方案资源管理器中)并选择“管理 NuGet 包”选项。我知道 NuGet 允许我将外部代码添加到我的项目中(例如,外部 .dll 和相关文件)。
添加对我的项目的引用和向我的项目添加 .nupkg 有什么区别?仅仅是.nupkg 可以包含除了.dll 之外的一大堆其他东西(例如文档)吗?我为什么要使用其中一个?
解决方案
添加对我的项目的引用和向我的项目添加 .nupkg 有什么区别?
NuGet 本质上与手动添加引用没有什么区别,最终添加了对项目的引用。它是一个自动向我们添加程序集并对其进行管理的工具,有效地提高了我们开发项目的效率。
有关更多详细信息,您可以查看有关 nuget 的文档:
简而言之,NuGet 包是带有 .nupkg 扩展名的单个 ZIP 文件,其中包含编译代码 (DLL)、与该代码相关的其他文件,以及包含包版本号等信息的描述性清单。具有共享代码的开发人员创建包并将它们发布到公共或私有主机。包消费者从合适的主机获取这些包,将它们添加到他们的项目中,然后在他们的项目代码中调用包的功能。然后,NuGet 本身会处理所有中间细节。
由于 NuGet 支持私有主机以及公共 nuget.org 主机,因此您可以使用 NuGet 包来共享组织或工作组专有的代码。您还可以使用 NuGet 包作为一种方便的方式来分解您自己的代码,以便仅在您自己的项目中使用。简而言之,NuGet 包是可共享的代码单元,但不需要也不暗示任何特定的共享方式。
.
仅仅是 .nupkg 可以包含除 .dll 之外的一大堆其他东西(例如文档)吗?
是的,NuGet 包可以在包中包含指定文件。
我为什么要使用其中一个?
Nuget 提供了几个额外的好处:
- 它通过添加对必要程序集的引用、创建和添加项目文件(例如配置)等来自动配置您的项目。
- 它提供包更新
- 它非常方便地完成所有这一切
我敢肯定,一旦你使用它,你就会意识到它有很多好处。
查看为什么使用 NuGet了解更多详细信息。
希望这可以帮助。
推荐阅读
- datetime - 为什么我在 1 个实体中出现日期格式错误?
- python - 查找 pandas 列中最后 14 个值的平均值,不包括 0 值
- javascript - 创建将由浏览器显示的计算程序
- c# - 为什么字节 150 在记事本中显示为破折号,但在我以编程方式阅读时却没有?
- python - 有没有办法在 Python 中的文件之间传输变量值?
- python - 在 Python 中为打开的子进程读取标准输出数据
- python - 无法在 python 中使用 selenium 抓取动态网页
- ios - UITextView 中特定文本的自定义操作
- java - 为什么无法在 aws elasticbeanstalk 上登录我的 springboot 应用程序?
- selenium - 有人在 Katalon Studio 中使用过 selenium-axe 吗?如果是这样,我如何开始设置和集成过程?