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

var test = Settings.Default.DBConn;


但是...第一次(没有覆盖app.config)一切正常,但是当我更改配置(比如说从调试到发布)时,抛出了一个错误,表明xml出了点问题或类似的东西,错误是ConfigurationErrorsException,消息是


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


这是我的蝙蝠文件:

@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

还有更多。但是我找不到任何解决方案。
你能帮我这个忙吗!
谢谢。

最佳答案

有一个名为SloWCheetah的Visual Studio扩展为此目的而设计。它允许您将XSLT转换提供给每个构建配置的app.config。签出http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5

关于c# - 在预构建和使用设置中覆盖App.Config,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23020124/

10-14 13:55
查看更多