我有一个控制台应用程序,它有App.Confile文件。 现在,这里维护了特定于环境的参数。
现在我想要多个app.config文件(如 app.dev.config,app.test.config和app.prod.config )的方式我们如何拥有多个Web.Config文件。
对于Web应用程序,我们可以处理此问题,ConfigurationManager会选择相应的Web.Config文件。
如果是Console应用程序,我不确定。如果是,我们如何拥有多个app.config文件?
感谢您的帮助。
由于
答案 0 :(得分:10)
要继续Babak的回答,您还可以使用代表configSource
的任何元素的ConfigurationSection
属性将配置的各个部分分成其他配置文件,例如:
<appSettings configSource="appSettings.config" />
在 appSettings.config :
中<?xml version="1.0" encoding="UTF-8"?>
<appSettings>
<add key="Blah" value="Nim nim nim" />
</appSettings>
答案 1 :(得分:8)
<强>更新强>
使用 Visual Studio 2010 和 2012 ,您已将其全部集成到IDE中。如果右键单击配置文件,VS会为您提供为每个构建配置生成转换配置的选项。如果您要为每个环境创建构建配置,MSBuild将自动为您生成正确的Web.config / app.config。
简短回答,是的。您可以在构建脚本中使用不同的文件,但是您必须将正确的文件重命名为“App.config”并进行设置(在编译之前)。
长答案,您应该使用的是Enterprise Library MergeConfiguration工具。这允许您使用现有的App.config作为基础并定义每个环境的增量。该工具将合并基础和增量以生成环境特定的配置文件。在构建脚本中仍然需要一些逻辑来应用正确的配置文件。
在计算机上安装Enterprise Library时,可以右键单击Visual Studio中的配置文件,然后通过配置工具进行编辑。您可以使用它来定义您的环境以及应用程序设置和连接字符串,以覆盖每个环境。