C# 在本地开发中使用不同的连接字符串

C# 在本地开发中使用不同的连接字符串,c#,.net,umbraco,connection-string,C#,.net,Umbraco,Connection String,我有一个Umbraco项目,有多个开发人员参与,每个开发人员都有一个不同的本地数据库连接字符串。当前的过程是,我们在本地更改web配置中的连接字符串,直到下一个git push/gitpull被覆盖,我们必须手动恢复连接字符串 我见过一个名为SlowCheetah的插件,它允许本地web配置trasnforms,但结果非常复杂,所以我理想地寻找更健壮的插件 这个问题通常是如何解决的?有这样一个连接字符串: DefaultConnection:“数据源=.\\;初始目录=数据库;综合安全=真实;持

我有一个Umbraco项目,有多个开发人员参与,每个开发人员都有一个不同的本地数据库连接字符串。当前的过程是,我们在本地更改web配置中的连接字符串,直到下一个
git push
/
gitpull
被覆盖,我们必须手动恢复连接字符串

我见过一个名为SlowCheetah的插件,它允许本地web配置trasnforms,但结果非常复杂,所以我理想地寻找更健壮的插件


这个问题通常是如何解决的?

有这样一个连接字符串:
DefaultConnection:“数据源=.\\;初始目录=数据库;综合安全=真实;持久安全信息=False;MultipleActiveResultSets=true“
它使用窗口身份验证来访问数据库。

您可以使用.NET Framework 4.7.1中引入的来预处理与您的配置相关的配置XML/节,然后再由其他代码使用。您可以使用环境变量(如机器名或用户名)来修改连接字符串节或appSettings节


我有一个基于
ASPNET\u环境变量
实现从不同json文件加载配置的详细说明,但您可能可以用更少的代码完成更具针对性的更改。

我发现使用
configSource
属性可以解决这个问题。我们现在将连接字符串保存在一个外部文件
connections.txt
中,该文件在git中被忽略,并在web配置文件中引用

在web配置中:

<connectionStrings configSource="connections.config"/>

和文本文件:

<connectionStrings>
    <add name="CONNECTIONNAME" connectionString="CONNECTIONSTRING" providerName="PROVIDERNAME" />
</connectionStrings>