【发布时间】:2022-05-03 21:26:37
【问题描述】:
我们目前不使用 nuget 作为我们的依赖项,更喜欢采用老式的方式并将它们全部粘贴到 libs 文件夹中并从那里引用。我知道。所以1990年代。
无论如何,nuget 总是让我感到有些不安……你知道,依赖云等等。因此,我发现自己主要同意 Mark Seeman(见此处:http://blog.ploeh.dk/2014/01/29/nuget-package-restore-considered-harmful/),他说:
就个人而言,我总是禁用该功能,而是签入我的存储库中的所有包。这从来没有给我任何问题。
问题是,这在版本 3 中已更改,您不能将软件包与解决方案一起存储,如下所述:https://oren.codes/2016/02/08/project-json-all-the-things/。哪一种搞砸了将它们检查到源代码中。
那么,我在这里什么都不担心吗?我应该从 nuget 井里喝水,还是与 Seeman 先生等人一起谨慎行事?
【问题讨论】:
-
就个人而言,我永远不会将包存储在源代码管理中。它们存储在 Nuget 中是有原因的,您为什么要使用特定版本来阻塞您的 git 存储库?升级时,您的开发人员会清理本地副本吗?没有。或者至少,不太可能。如果您使用最新的 nuget 范例,如果找不到包,它们将自动恢复。您也可以使用
nuget restore xxxx.sln将其编入命令行选项 -
如果您主要关心的是访问 nuget.org 存储库(连接),那么设置一个私有 nuget 服务器来缓存您需要的包。这可以是文件共享或免费的 nuget 服务器(nuget.org 存储库是 OSS)
-
也相关,支持包含在源代码控制中的论据:softwareengineering.stackexchange.com/questions/301547/…
标签: version-control nuget