同一解决方案中项目的多个版本?

Multiple versions of a project in the same solution?

我有一个产品有几个客户。目前,该产品在外观上对所有这些产品都是相同的,functionality.I 需要实施一些称为测试版功能的新功能,并只对我的少数客户提供这些功能,其余客户将使用旧版本及其维护请求也将完成。我不想为此复制整个解决方案。这个问题的最佳方法是什么?使用 visual studio configuration manager#if 维护解决方案是唯一的方法吗?

如果最终计划向所有客户推出测试版功能,这听起来像是版本控制分支问题。使用像 Git 这样的现代版本控制系统,您可以创建 beta branches 来处理不同的开发路径。

当您的主开发分支在维护期间继续运行时,您可以创建功能分支,在其中为某些客户实现 beta 功能,最后将它们合并到主分支。

如果您尝试通过 #iffing 您的源代码在单个分支中处理此问题,则您选择了容易出错且难以扩展的复杂路径。