gpt4 book ai didi

version-control - Nuget - 在源代码管理中存储包,还是不?

转载 作者:行者123 更新时间:2023-12-04 07:34:54 26 4
gpt4 key购买 nike

我们目前不将 nuget 用于我们的依赖项,更喜欢采用 old-skool 方式并将它们全部粘贴在 libs 文件夹中并从那里引用。我知道。所以 1990 年代。

无论如何,nuget 总是让我感到有点不舒服……你知道,对云的依赖等等。因此,我发现自己主要同意 Mark Seeman(见这里:http://blog.ploeh.dk/2014/01/29/nuget-package-restore-considered-harmful/)他说:

Personally, I always disable the feature and instead check in all packages in my repositories. This never gives me any problems.



问题是,这在第 3 版中发生了变化,您不能在解决方案旁边存储包,如下所述: https://oren.codes/2016/02/08/project-json-all-the-things/ .哪一种把它们检查到源代码中搞砸了。

所以,我在这里什么都不担心吗?我应该从 nuget 中喝水,还是站在 Seeman 先生一边谨慎行事?

最佳答案

在源代码管理中存储 NuGet 包是一个非常非常糟糕的主意。
我不小心做了一次,最终导致我的源代码大量膨胀,那是在 .NET Core 之前......

从 NuGet 中深喝。如今,大多数软件组件都以类似的方式打包(NPM、Bower 等)。所引用的博文已有两年历史,并且包管理在 .NET 世界中变化很快,所以这是我最近的一些经验。

  • 无法从 nuget.org 删除 NuGet 包。它们可以隐藏,
    但是如果您的应用程序请求一个隐藏的包,它会下载它
    像平常一样。它永远不会消失在虚空中。
  • “启用包还原”不再是小问题,因为它现在是 NuGet 2.7+ 中的默认选项。你别无选择了。
  • 包不再按解决方案存储,而是按机器存储,这将节省大量带宽并减少构建时的初始获取周期。
  • 如果你使用 .NET Core 构建一个新项目,你将拥有更多的包,因为整个 BCL 将作为 NuGet 包提供。您真的想将所有 System.* 包 checkin 到源代码中吗?
  • 关于version-control - Nuget - 在源代码管理中存储包,还是不?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35800766/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com