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

企业内管理Nuget软件包的行业标准,nuget,repository,standards,enterprise,Nuget,Repository,Standards,Enterprise,我遇到过这样的情况:我们有多个C#项目,它们使用类似的Nuget包集(例如Newton Json、Microsoft编译器和CodeDom、Owin、log4net、jQuery、EntityFramework等) 我试图了解如何为所有Nuget包提供一个共享位置,以减少Git中这些二进制文件的占用空间,通过将它们集中在一个地方为它们提供一个repo 我发现的一个选项是在repositoryPath设置为指向共享位置的每个项目中使用Nuget.config。这对于在项目中添加/升级/恢复Nuge

我遇到过这样的情况:我们有多个C#项目,它们使用类似的Nuget包集(例如Newton Json、Microsoft编译器和CodeDom、Owin、log4net、jQuery、EntityFramework等)

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

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

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

  • 如果问题在于Git存储库的占用空间/组织,那么您可以对依赖项文件夹执行.Git ignore,以防止Git将它们提交到存储库中。当您需要从源代码构建项目时,只需执行dotnet/nuget还原,即可从您在nuget.config中配置的源代码获取依赖项

  • 不确定这是否是行业标准,但我们拥有自己的Nuget服务器来控制不同团队可以使用的库。微软有一篇关于

  • 希望能有帮助