覆盖预建和使用设置中的App.Config

时间:2014-04-11 18:32:02

标签: c# visual-studio-2012 app-config application-settings pre-build-event

我有一个附加到app.config的设置文件,我正在使用pre-Build命令行来调用bat文件,该文件假定根据项目的选定配置覆盖app.config(Debug,release。 ..)在构建过程之前。一切看起来不错,app.config在构建时间得到更新(我可以看到设置和app.config中的更改)。但是,当我尝试使用如下命令获取设置中的任何值时:

var test = Settings.Default.DBConn;

但是......第一次(app.config没有得到覆盖)一切正常,但是当我改变配置时(让我们说从调试到发布)一个错误就是扔错了说错了使用xml或类似的东西,错误是ConfigurationErrorsException,消息是

  

无法解析属性“serializeAs”的值。错误   is:枚举值必须是以下之一:String,Xml,   Binary,ProviderSpecific。

这是我的bat文件:

@echo off


if %1==Debug  GOTO DE
if %1==DEV GOTO DEV
if %1==Release GOTO PR



:DE
xcopy  %2configs\app_Debug.config  %2app.config  /Y
GOTO END

:PR
xcopy  %2configs\app_PROD.config  %2app.config  /Y
GOTO END

:DEV
xcopy  %2configs\app_DEV.config  %2app.config /Y
GOTO END

:END

我真的不知道在检查这些讨论时出现了什么问题

hanselman

Overriding App.Config settings

Manage multiple app config files during development

还有更多。但我找不到任何解决方案。 能帮帮我吧! 谢谢。

1 个答案:

答案 0 :(得分:3)

有一个名为SloWCheetah的Visual Studio扩展程序,专门用于此目的。它允许您为每个构建配置的app.config提供XSLT转换。查看http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5