参考、模板和 NuGet 包之间的区别?

Difference between Reference, Template, and a NuGet package?

Visual Studio中NuGet包、引用(引用类似于工具吗?)和模板有什么区别?

为什么我们需要它们?

当我们安装它们中的每一个时,我们的项目做了什么/改变了什么?

他们是否以某种方式相互依赖?其中哪些是全局安装,哪些需要在每个项目中安装?

在任何评论或误解之前:这个答案 不是 由我撰写的,而是 was accepted as an answer here,所以为了试图找到答案的用户这个,我真的是在这个地方复制你问题的答案。

What is the difference between a NuGet package, a Reference (is reference similar to a tool?), and a template in Visual Studio?

引用用于将其他库拉入您的项目。例如,您的同事开发了一个实现您想要的某些功能的库。不用自己写,直接通过add reference把dll添加到你的工程中即可。当然,您可以添加任何不是来自第三方或 Microsoft 的库。但是当库发生变化或更新时它不会注意到你。

NuGet 包是 Microsoft 开发平台(包括 .NET)的包管理器。它将帮助您管理安装在项目中的包。当包有新版本发布时,它会通知你更新它。 NuGet 客户端是一种提供生产和使用包能力的工具。

模板类似于示例项目,它提供了基于不同类型项目的框架。您只需将 content/functions 添加到此框架中即可实现您的要求。例如,如果创建一个 WinForms 项目,它将自动引用 System.Windows.Forms,其中包含您在 WinForms 项目中需要的所有内容。

Why do we need them?

NuGet package and Reference可以帮助我们调用一些别人实现的或者微软封装的功能。而Template可以帮助我们创建一个没有自己构建框架的项目。所有这些都帮助我们在开发项目时节省了大量时间。

What is done / changed in our project when we install each one of them?

在你的项目中添加引用,它会让你在你的项目中调用这些引用中的函数。

安装 NuGet 包会自动将包引用添加到您的项目中,然后您就可以使用包提供的功能了。

模板将在您安装时安装 Visual Studio。将安装大多数常用模板。然后你可以通过这些模板快速创建一个新的项目。

Are they dependent on each other in some way? Which one(s) of them are global installs, and which one(s) need to be installed in every project?

引用和 NuGet 包需要 referenced/installed 在一个项目上。但是这个项目可以通过模板创建,也可以由客户自己创建。所以在某种程度上,引用和 NuGet 包依赖于项目。

模板是全局安装,每个项目都需要安装 NuGet 包和引用。