是否有针对Java工件存储库(如Nexus或Artifactory)的.NET替代方案?你在哪里存储版本化的DLL?

Pet*_*cek 12 .net build-automation build-process dependency-management refix

在Team System上自动构建所需的二进制文件的存储位置?您是将它们与代码一起存储在SCM中还是其他地方?在SCM中有大量的二进制文件导致源控制器出现任何性能问题?

需要能够恢复到某些外部库的早期版本以修复已发布版本中的错误,但版本不兼容.分支可以解决问题,但我认为将二进制文件与代码一起存储是反模式的.

任何建议都是受欢迎的.

Per*_*sen 0

我们始终将外部二进制依赖项与源代码、图像、构建脚本以及在版本控制系统 (VCS) 中一起构建解决方案所需的所有其他工件一起存储。这就是我真正擅长的 VCS,它确保我们拥有适用于我们构建的任何版本(甚至分支)的所有必要工件的正确版本。

我很好奇:为什么你会认为这是一种反模式?

  • 越来越多的团队正在转向 DVCS(例如 Git、Mercurial),其中每个用户都在本地拥有完整的存储库历史记录。如果您的构建依赖于大型或经常更改的二进制文件,那么这是一种反模式,因为它强制每个存储库都拥有曾经使用过的每个二进制文件的本地“副本”(甚至“传递性”使用!)而不是“引用”到直接依赖项。如果它阻止团队将其代码库分解为托管在单独的存储库中的逻辑独立的组件,则可以将其视为反模式。 (3认同)