在企业内部管理Nuget软件包的行业标准

时间:2018-09-17 14:32:17

标签: nuget repository standards enterprise

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

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

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

我有一个两部分的问题: 1.删​​除软件包后,有什么方法可以改善上述工作流程? 2.处理通过Nuget提供的第三方库的行业标准是什么?或者,如果没有,则可以分享您在多个项目中处理Nuget软件包的经验。

1 个答案:

答案 0 :(得分:0)

  1. 如果您关注的是Git存储库的占用空间/组织,则可以对依赖项文件夹执行.git忽略操作,以防止git将它们提交到存储库中。当您需要从源代码构建项目时,只需执行dotnet / nuget restore即可从您在Nuget.config

  2. 中配置的源代码中获取依赖项。
  3. 不确定这是否是行业标准,但是我们托管自己的Nuget服务器来控制不同团队可以使用的库。 Microsoft在Hosting your own NuGet feeds

  4. 上有一篇文章

希望有帮助。