【问题标题】:What is the point of Nuget packages?Nuget 包的意义何在?
【发布时间】:2013-02-22 14:32:09
【问题描述】:

也许我在这里做错了什么或表达了纯粹的无知,但我真的看不出 Nuget 包有什么好处?我最近决定安装一些 Nuget 包来替换我的应用程序中的静态 DLL。当我检查由包创建的文件夹时,它们似乎包含许多不同版本的 DLL,它们都嵌套在一组子目录下。

难道所有这些文件(其中许多似乎是多余的)都会增加应用程序的整体大小并减慢发布和部署例程的速度吗?还有哪些项目应该放在源代码管理中?

就像我说的那样,我可能在这里遗漏了一些东西,但是有人能告诉我 Nuget 包的优点吗?我开始认为 bin 文件夹中的一个简单 dll 工作得很好?

【问题讨论】:

    标签: .net package nuget nuget-package


    【解决方案1】:
    1. 每个包都知道它依赖于哪些其他包——特别是它们的哪些版本。这有助于确保所有库都兼容。
    2. 您仍然应该只部署您实际需要的 DLL 版本
    3. 您可以决定不将任何 DLL 放入源代码管理中,因为 NuGet 具有“包还原”功能,可在构建时自动加载缺失的包。
    4. 您拥有所有依赖项的中心位置:只需右键单击您的项目并选择您需要的包。无需再搜索下载链接等。

    【讨论】:

    • 感谢 Daniel,源代码控制方面是我苦苦挣扎的部分。如何有选择地仅部署我需要的 dll。是否需要在VS中浏览一下package dll并手动选择不编译?
    • @QF_Developer:当 Visual Studio 构建您的项目时,它会将所有需要的 DLL 复制到 bin 文件夹中。这就是你部署的。您会看到,您的 bin 文件夹中不会有同一个包的多个 DLL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多