我有一个附加到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/