【问题标题】:A way to download source of each nuget package?一种下载每个nuget包源的方法?
【发布时间】:2018-03-14 08:29:31
【问题描述】:

我在一个严格的监管环境中工作,只要你能够拥有所有的源代码,就允许使用开源库(这几乎是 在 GitHub 上 的同义词)这些库。

在可行性阶段,我一直在使用 nuget 为我的项目链接库,将项目存储在 Git 中,到目前为止一切顺利。

在进入生产阶段之前,我希望能够(至少对于每个生产版本,如果可能的话,即使是夜间构建)能够在“某处”拥有我使用的所有库的来源。

可能有一种策略可以在没有 nuget 但使用 git 和子模块的情况下执行此操作,但这对我来说看起来并不明显。 任何人都知道如何做到这一点?

谢谢!

【问题讨论】:

  • 只是我的看法,但仅仅为了遵守而自动检索源有点愚蠢。拥有代码但 99% 从不看它有什么价值?在您的项目中使用之前应检查合规性。如果您在进入生产阶段时发现某个组件违反了您的任何政策怎么办?
  • 这只是您在玩监管方面时遇到的愚蠢场景:您有一个重要的错误需要快速修复,因为生活取决于它;如果 github 项目被所有者关闭怎么办?在你的审判中,你说“他们已经死了,因为 github 所有者关闭了他的项目”?
  • 这就是说,我在原则上同意你的观点,但人们只是对法规感到疯狂;您在 IEC 62304-amd1 2015 中找到的示例:如果软件系统未能按规定运行导致危险,则应假定此类故障的概率为 100%。:现实生活中的类比:如果你有可能被闪电击中,那么考虑一下你有 100% 的机会会发生......
  • 我只是想建议手动下载您打算使用的组件的源代码,使其成为决定特定解决方案的过程的一部分,这将是该法规试图实现的目标。我知道永远没有足够的时间以“正确的方式”来做这件事......

标签: git github nuget open-source


【解决方案1】:

恐怕无法自动执行。我什至会说,在 github 中手动找到适当的修订并不总是那么容易。

这几乎是当今 GitHub 上的同义词

差不多了。例如,System.Data.SQLite 甚至使用另一个 VCS:https://system.data.sqlite.org/index.html/brlist。您会注意到,在那里发现一个版本并不容易。

如果您需要严格遵守规定,您可能应该自己从已知来源重建依赖项。

【讨论】:

  • 你的SQLite例子是相关的..我认为我到现在使用的所有库都在github上,但将来可能不是这样......
【解决方案2】:

在大多数情况下,项目站点会将您带到 GitHub 页面。在那里你将能够下载 nuget 包的源代码。
https://www.nuget.org/packages/NGitHub/0.7.0-beta2

【讨论】:

    猜你喜欢
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    相关资源
    最近更新 更多