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

时间:2015-06-10 07:21:47

标签: c# mysql visual-studio connection-string

我正在尝试弄清楚如何使用Visual Studio中的解决方案配置管理来设置MySQL连接字符串,具体取决于构建配置,但对此却相当新。

我已经在App.config文件的XML上找到了大量关于创建连接字符串的信息,但是我不清楚如何告诉不同的配置模式(借口我缺乏已知的术语)来使用不同的连接字符串。 / p>

EG。我想要开发和生产的独立环境,每个环境都使用不同的SQL数据库,以便不在任何生产数据库上进行开发。

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

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

可能只是因为我缺乏术语阻碍了我的Google功能,所以即使有人可以指点我的指南或欺骗线程也会很棒。

谢谢!

编辑:

感谢大家的回答,遗憾的是我只能将其中一个标记为正确答案。 + Rep for everyone,正是我想要的。再次感谢!

3 个答案:

答案 0 :(得分:1)

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

https://mitasoft.wordpress.com/2011/09/28/multipleappconfig/

要记住的要点: 给连接字符串指定相同的名称,只更改其他详细信息,因此在代码中您将使用相同的名称,但它会根据配置(发布与调试)而改变

PS:抱歉没有足够的声望点发布评论问题

答案 1 :(得分:1)

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

这里也有一个问题: How to select different app.config for several build configurations

答案 2 :(得分:1)

您正在寻找配置转换,(msdn文章:https://msdn.microsoft.com/en-us/library/vstudio/dd465318%28v=vs.100%29.aspx) 但是这只适用于Web项目。在其他项目中使用它将需要自定义代码,或者像我通常那样,需要外部包,例如慢猎豹(https://www.nuget.org/packages/SlowCheetah/)允许你在任何配置文件中使用变换。

语法非常简单。您在附加配置文件上定义相同的节点,然后设置属性&#34; xdt:Transform&#34;使用所需的模式和&#34; xdt:Locator&#34;使用要与变换匹配的属性(例如,给它xdt:Locator =&#34; Match(name)&#34;将变换具有相同名称属性的项目)