【问题标题】:Industry standard for managing Nuget packages within the enterprise在企业内管理 Nuget 包的行业标准
【发布时间】:2019-02-21 12:26:45
【问题描述】:

我的情况是,我们有多个 C# 项目使用类似的 Nuget 包集(例如 Newton Json、Microsoft Compilers 和 CodeDom、Owin、log4net、jQuery、EntityFramework 等)

我正在尝试了解我们如何为所有 Nuget 包提供一个共享位置,以减少 Git 中这些二进制文件的占用空间,通过将它们集中在一个地方为它们提供一个存储库。

我发现的一个选项是在每个项目中使用 Nuget.config,并将 repositoryPath 设置为指向共享位置。这对于在项目中添加/升级​​/恢复 Nuget 包非常有用,但是当一个包从一个项目中删除但在另一个项目中仍然需要时,它不是很干净。基本上,该包将从共享位置删除,并将更改提交给 Git,然后当其他项目需要它时,它会被恢复并添加回 Git。在我看来不是一个完美的解决方案。

我有一个两部分的问题: 1. 当包裹被移除时,有没有办法改善上述工作流程? 2. 处理通过 Nuget 交付的第三方库的行业标准是什么?或者如果没有,您能否分享您在多个项目中处理 Nuget 包的经验。

【问题讨论】:

    标签: nuget repository standards enterprise


    【解决方案1】:
    1. 如果关注的是 Git 存储库的足迹/组织,也许您可​​以对依赖项文件夹执行 .git 忽略,以防止 git 将它们提交到存储库中。当您需要从源代码构建项目时,只需执行 dotnet /nuget restore 以从您在 Nuget.config 中配置的源代码获取依赖项

    2. 不确定它是否是行业标准,但我们托管自己的 Nuget 服务器来控制不同团队可以使用的库。微软有一篇关于Hosting your own NuGet feeds的文章

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      • 1970-01-01
      相关资源
      最近更新 更多