在.NET web.config文件中管理测试/ prod连接字符串的正确方法

Jak*_*ake 7 .net c#

我有我维护的应用程序的源代码.在我的web.config文件中,我有我的测试和生产数据库的连接字符串,如下所示:

<add name="conn" connectionString="Data Source=TestDBServer; (etc...)">

<add name="conn" connectionString="Data Source=ProdDBServer; (etc...)">
Run Code Online (Sandbox Code Playgroud)

每当我进行测试时,我只会注释掉生产连接字符串,反之亦然.例如,当我完成测试时,我会注释掉测试连接字符串并取消注释生产连接字符串然后进行部署.

我作为开发人员的职业生涯很早,但在我看来,必须有更好或更标准的方法来处理这个问题.我该怎么办?

编辑

Guilherme Lofrano Corneto联系了一个完全回答我自己问题的相同问题.我已经将我的标记重复了.链接在这里:

发布时将连接字符串从开发更改为生产

Nas*_*sto 2

Visual Studio 可以web.config根据您当前活动的构建配置自动转换您的构建配置。因此,您应该有一个构建配置“测试”、“开发”、“产品”等(无论您的工作流程需要什么)。

然后您可以右键单击您的web.config并单击“添加变换”。这将创建一个新的配置,web.Prod.config您可以在其中覆盖您的配置值。当使用特定的构建配置进行构建时,Visual Studio 将自动web.config使用相应的转换覆盖默认值。

如果您需要将此类转换应用于其他文件,web.config您可能需要检查“SlowCheetah - XML Transforms”等扩展名