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