重写预生成和使用设置中的App.Config

本文关键字:设置 App Config 重写 | 更新日期: 2023-09-27 17:57:53

我有一个附加到app.config的设置文件,我正在使用预构建命令行调用一个bat文件,该文件假定在构建过程之前基于项目的选定配置(调试、发布…)覆盖app.config。一切看起来都很好,app.config会在构建时更新(我可以看到设置和app.config中的更改)。但当我试图使用以下命令获取设置中的任何值时:

var test = Settings.Default.DBConn;

但是。。。第一次(app.config不是get-override),一切都很好,但当我更改配置时(比如说从调试到发布),抛出了一个错误,表明xml或类似的东西有问题,错误是ConfigurationErrorsException,消息是

无法分析属性"serializeAs"的值。错误为:枚举值必须是以下值之一:String、Xml、,二进制,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

覆盖应用程序配置设置

在开发期间管理多个应用程序配置文件

以及更多。但我找不到任何解决方案。你能帮我一下吗!谢谢

重写预生成和使用设置中的App.Config

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