不确定如何根据解决方案配置设置C#连接字符串

不确定如何根据解决方案配置设置C#连接字符串,c#,mysql,visual-studio,connection-string,C#,Mysql,Visual Studio,Connection String,我正试图弄清楚如何在VisualStudio中使用解决方案配置管理来设置MySQL连接字符串,这取决于构建配置,但我对这方面还比较陌生 我在App.config文件中找到了大量用于创建连接字符串的XML信息,但不清楚如何告诉不同的配置模式(请原谅我缺乏已知的术语)来使用不同的连接字符串 我想要独立的开发和生产环境,每个环境使用不同的SQL数据库,这样就不会在任何生产数据库上开发 到目前为止,我在app.config中的内容: <connectionStrings> <a

我正试图弄清楚如何在VisualStudio中使用解决方案配置管理来设置MySQL连接字符串,这取决于构建配置,但我对这方面还比较陌生

我在App.config文件中找到了大量用于创建连接字符串的XML信息,但不清楚如何告诉不同的配置模式(请原谅我缺乏已知的术语)来使用不同的连接字符串

我想要独立的开发和生产环境,每个环境使用不同的SQL数据库,这样就不会在任何生产数据库上开发

到目前为止,我在app.config中的内容:

<connectionStrings>
    <add name="Debug" connectionString="debguconnectionstring"/>
    <add name="Production" connectionString="productionconnectionstring"/>
  </connectionStrings>

这可能仅仅是因为我缺乏专业术语,妨碍了我的谷歌搜索能力,所以即使有人能给我指点一个指南或复制线程,那也会很好

谢谢

编辑:


谢谢大家的回答,遗憾的是,我只能将其中一个标记为正确答案+代表所有人,这正是我想要的。再次感谢

这篇文章展示了如何构建这样的配置:

要记住的要点: 为连接字符串指定相同的名称,仅更改其他详细信息,因此在代码中您将使用相同的名称,但名称将根据配置而更改(版本vs调试)


PS:抱歉,没有足够的信誉点作为问题的评论发布

您需要三个配置文件,如下所示: -app.config -app.Debug.config -app.Release.config

这里已经有一个问题:
您正在寻找配置转换(msdn文章:) 然而,这只适用于web项目。在其他项目中使用它需要自定义代码,或者像我通常做的那样,需要外部包,例如Slow Cheetah(),它允许您在任何配置文件中使用转换


语法非常简单。您在附加配置文件上定义相同的节点,然后使用所需的模式设置属性“xdt:Transform”,并使用要与转换匹配的属性设置属性“xdt:Locator”(例如,赋予它xdt:Locator=“match(name)”将转换具有相同名称属性的项)

也许这有帮助:通常在我的工作环境中,我没有设置单独的生产和开发服务器。默认情况下,app config中的连接字符串指向生产数据库。我将连接字符串指向development db,并且不会在app.config中进行检查。