如何为每个客户管理不同的设置?

How to manage different settings for each customer?

我们有 1 个设置文件,其中包含每个客户的客户设置,但问题是在为每个客户发布新版本时,我们必须更改大量设置值,因为我们使用测试设置进行开发。所以,一团糟。

最好的解决方案是什么? 每个客户都有一个设置文件和 app.config? 将配置保存到数据库中?(我们仍然会有连接字符串设置)

每个客户都看不到其他客户的设置..

我们用Configuration Transformation for this and have multiple Build (Release) configs喜欢

  • 内部版本
  • 发布-客户A
  • 发布-CustomerB

您可以有一个 "base" 配置文件,只需替换特定配置所需的值即可。

之后您的文件结构将如下所示

app.config
    app.Release-Internal.config
    app.Release-CustomerA.config
    app.Release-CustomerB.config

我们通常将其用于连接字符串和一些特定的视图设置。

Visual Studio 仅对 ASP.NET 项目提供本地支持(无论出于何种原因),但有多个插件可以为其他 .NET 项目启用此功能。

我可以推荐Configuration Transform (I like this one better) or SlowCheetah