繁体   English   中英

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

[英]Unsure how to set C# Connection string depending on solution configuration

我试图弄清楚如何在Visual Studio中使用“解决方案配置管理”来设置MySQL连接字符串,具体取决于哪种构建配置,但是对此还不是很新鲜。

我已经找到了有关用于创建连接字符串的App.config文件的XML的大量信息,但是目前尚不清楚如何告诉不同的配置模式(例如,我缺乏已知的术语)以使用不同的连接字符串。

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

到目前为止,我在app.config中拥有什么:

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

可能仅仅是因为我缺乏术语阻碍了我的Google-ing能力,所以即使有人可以将我引向出色的指南或欺骗性线索。

谢谢!

编辑:

非常感谢您的回答,遗憾的是,我只能将其中之一标记为正确答案。 + Rep适合所有人,正是我想要的。 再次感谢!

本文是展示如何构建这样的配置的文章:

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

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

PS:很抱歉,没有足够的声誉积分才能发布作为对问题的评论

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

这里也已经存在一个问题: 如何为几种构建配置选择不同的app.config

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM