Visual Studio:如何快速切换测试/生产数据库?

时间:2012-08-16 02:41:14

标签: visual-studio configuration app-config development-environment

我正在使用一个包含Windows服务主机项目的解决方案,该项目使用单个app.config文件,该文件包含服务所需的所有内容(日志记录配置,WCF配置,自定义配置以及连接字符串)。

我实际工作的方式是当用户在生产环境中抱怨错误时,我编辑app.config文件,修改连接字符串使其指向生产数据库,重新编译服务主机项目,然后运行在我的开发环境中应用以查看正在发生的事情。

如果我必须测试对生产环境来说风险太大的东西,我再次编辑app.config文件,修改app.config文件,使其指向测试数据库,重新编译服务主机项目,..你知道我要去哪里......

为了避免每次我必须切换环境时编辑app.config文件的负担,我决定创建一个“Production”构建配置和一个“Test”构建配置。我添加了两个额外的配置文件,每个环境一个,它们是主app.config文件的副本,除了它们的连接字符串指向它们各自的数据库。我修改了项目的预构建事件,以包含根据所选构建配置复制环境的app.config文件的代码。

我对这种方法有两个顾虑:

  • 如果我还有其他要在app.config文件中修改的内容(WCF,日志记录等),我必须记得在其他文件中复制我的修改。 (对我来说是个大问题,因为我有像红鱼一样的记忆力)

  • 由于额外的构建事件,项目目录中的其他文件等,我讨厌使项目更复杂。

  • 每个构建配置都在不同的目录中输出。我不喜欢使用相同代码的副本来克服数据源问题。

任何人都可以建议一种更简单的方法来处理多种环境?

提前致谢。

0 个答案:

没有答案