0

我有一个相当复杂的项目,它产生大约 10 个不同的可执行文件。所有这些项目都有一个由我开发的公共库,用于在它们之间共享代码。(将其视为依赖树的根节点)。

因为这 10 个可执行文件中的每一个都相当复杂并且有其他特定的库,所以我实际上有大约 4 或 5 个不同的 Visual Studio 解决方案,以使功能更加包含并避免将完全不相关的可执行文件混合在一起。

我想知道这两个选项中哪一个是管理我的公共图书馆项目的最佳方式(社区是如何做到的):

  1. 它是否应该存在于内部 NuGet 存储库中,然后所有可执行项目都通过 NuGet 依赖它?
  2. 我是否应该为 5 种不同的 Visual Studio 解决方案中使用的公共库保留相同的 .csproj 文件?

我知道每种方法都有利有弊。我只想知道人们在外面做什么。

谢谢,瑞

4

2 回答 2

2

我会推荐 NuGet 选项。

如果您使用不同版本的共享项目,效果会更好。即如果共享库发生更改,您不需要立即更新所有其他项目。

于 2013-10-25T09:18:34.390 回答
2

在您的情况下,我建议第二种解决方案更具可维护性和可扩展性。

一次安装的Nuget 包不会更改,除非您不发布/构建另一个包并记住更新您的解决方案。

这不是链接项目的情况。有一次您修复其中的错误或添加新功能,您至少会从两个方面受益:

  • 更改在您的所有解决方案中立即可见
  • 考虑到它们是不同的解决方案,如果您破坏了某些东西,您会更容易理解。
于 2013-10-25T09:18:39.507 回答