为什么使用NuGet直接在我的机器上安装库

我不明白 – 有人可以向我解释为什么我应该使用NuGet,而不是通过setup.exe或MSI安装一堆库吗? 那里有什么好处?

例如,最好是通过NuGet安装Entity Framework 4.3而不是下载安装程序? 此外,如果我通过NuGet安装entity framework,那么它是否可用于我创build的任何新解决scheme或项目(有点困惑这里)。

基本上NuGet做的是正常安装不能做的(反之亦然!)

除了简单的添加一个包到你的项目,我认为NuGet最大的优势是依赖pipe理。

NuGet允许项目所有者将它们的库打包为包。 以前,如果他们依赖像log4net这样的其他库,他们会将这些程序集包含在他们的setup / zip文件中并上传到他们的网站。

使用NuGet,他们只需在.nuspec文件中添加对这些外部程序包的引用即可。 当NuGet安装软件包时,它会看到有依赖关系,并且会自动下载和安装这些软件包。 它也支持冲突pipe理,所以如果2个软件包依赖于不同的版本,它会找出正确的安装。

我认为确定NuGet是否会为你工作的最好方法是实际使用它。 我相信,一旦你做了,你会意识到它有很多好处。

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

  • 它会自动configuration您的项目,通过添加必要的程序集引用,创build和添加项目文件(例如configuration)等。
  • 它提供了软件包更新
  • 非常方便地完成了这一切

那里有什么好处?

Nuget简化了第三个库的合并:通过一个命令行(Install-Package EntityFramework),您可以将您的软件包用于您的项目。 而不是使用谷歌search – find包 – 下载 – 安装 – 参考您的项目中的包…

自动更新不是必需的,Nugetconfiguration文件允许您指定应用程序兼容的版本或版本范围。

另外,如果我通过Nuget安装entity framework,那么它可用于我创build的任何新的解决scheme或项目

一旦你安装了一个软件包,dll被复制到解决scheme级别的目录中,然后你可以在解决scheme的其他项目中从那里引用它们。

对于每个新的解决scheme,重新安装软件包是更好的解决scheme。 用nuget很容易,这不会是一个问题。

Nuget有助于创build一个DLL地狱,并使解决scheme非常迅速失控,尤其是当所谓的“包”的不同版本发挥作用。 除了汇编版本,现在还有nuget软件包版本。 Nuget只是在DLL中添加另一个包装器,并没有做任何事情,使开发人员的生活更轻松。