C#将条件编译符号传播到多个项目

时间:2018-06-28 23:18:09

标签: c# projects-and-solutions conditional-compilation

使用Visual Studio 2017,我有一个包含许多C#项目的解决方案。我试图找到一种在一个位置设置条件编译符号的方法,以便所有项目都可以访问它。

主要是因为我们的解决方案可以部署到两个实例之一。根据部署位置的不同,代码将需要访问其他数据库(两个数据库基本相同,但是一个数据库是我们的生产数据库,另一个数据库是用于测试的,因此我们不会无意间破坏它们)。如果程序员可以只在一个地方设置一个标志,然后让所有项目都可以连接到适当的数据库代码中,我就很喜欢。我打算通过在设置连接字符串时使用#if TestDB ... #else ... #endif来做到这一点。

由于其他一些标记已在使用中,我想避免使用其他配置(发布,调试)...

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

这是什么类型的解决方案? Web App / Windows App等。我不确定为什么您不想使用不同的配置-例如,如果它是一个Web应用程序,那么您也将为要部署的每个不同实例都进行一个web.config转换-并且然后根据转换要求设置连接字符串

您是否有CI / CD管道-如果是这样的话,也许可以使用Powershell来实现,例如