我正在使用 Visual Studio 2008,开发一个 winforms 应用程序。

我的数据库连接字符串存储在 settings.settings 中。

我的开发和生产环境需要不同的数据库登录凭据,现在我正在为 2 个不同的环境构建之前手动更改连接字符串。

有更好的解决方案吗?

最佳答案

永远的难题! :-)

基本上,目前,微软对此并没有很好的答案。

我要做的是在我的设置文件中有两个连接字符串,在两个不同的名称下,然后在 app.config 中有一个配置设置,它告诉我要使用哪个:

MyDatabaseDEV = server=(local);database=mydatabase;-........
MyDatabasePROD = server=ProdServer;database=MyDatabase;........

并在 app.config
<appSettings>
   <add key="UseDatabase" value="MyDatabaseDEV" />
</appSettings>

app.config 中的这个设置可以在你的构建过程中进行调整,例如通过“构建后”批处理文件或 MSBuild 任务或其他内容,在您进行生产(发布)构建时切换到“MyDatabasePROD”。

Microsoft 向我们 promise 为 .NET 4.0/Visual Studio 2010 提供越来越灵活的工具,这些工具应该在 2009 年底推出。您应该能够创建“配置转换” - 查看这些博客文章:
  • Web Deployment: Web.Config Transformation
  • ASP.NET 4.0 and Visual Studio 2010 Web Development Beta 1 Overview
  • Visual Studio 2010: Web.config transforms
  • Web.config Transformations with Visual Studio 2010

  • 马克

    关于c# - 开发与生产中的 settings.settings 连接字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1304536/

    10-13 09:23