我有一个附加到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
我真的不知道在检查这些讨论时出现了什么问题
Overriding App.Config settings
Manage multiple app config files during development
还有更多。但我找不到任何解决方案。 能帮帮我吧! 谢谢。
答案 0 :(得分:3)
有一个名为SloWCheetah的Visual Studio扩展程序,专门用于此目的。它允许您为每个构建配置的app.config提供XSLT转换。查看http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5