1

简而言之
,我想将某些 applicationSetting 值设置为仅为我的开发机器在无法签入的配置文件中的特定值。为此,我正在考虑将 configSource 属性与 user.config 文件一起使用。但是,当文件不存在时,此属性会引发异常。

扩展
我有一个包含以下 app.config 文件的库:

<applicationSettings>
    <A.NameSpace.Settings>
        <setting name="ASettingName" serializeAs="String">
            <value>aSettingValue</value>
        </setting>
    </A.NameSpace.Settings>
</applicationSettings>

另一个库将使用这个库,并且有两个选项和一个进一步描述

  • 不填写 A.NameSpace.Settings 节点所以使用默认aSettingValue
  • 填写 A.NameSpace.Settings 节点,以便使用新配置的值

这很方便,因为我们准备设置的构建脚本现在可以替换与环境相关的参数(例如:服务器名称、端口等)

现在第三种选择是有一个 app.config 像这样:

<applicationSettings>
    <A.NameSpace.Settings configSource="user.config" />         
</applicationSettings>

user.config并在未签入的文件中定义相同的值。这太棒了。除了在非开发环境中,此 user.config 文件不应该存在,并且在找不到该文件时将引发异常。

如何仅为我的开发机器定义配置值?

4

3 回答 3

2

我认为SlowCheetah是您正在寻找的。

Scott Hanselman 写了一篇博客: SlowCheetah - Web.config Transformation Syntax now generalized for any XML configuration file

于 2012-03-09T16:05:34.527 回答
1

您可以使用配置转换。我会找到一些有关如何完成此操作的文档并很快发布。

这是hanselman 的文章,可能会有所帮助。

于 2012-03-09T16:01:48.680 回答
-1

考虑使用 ant/maven 或类似的东西

于 2012-03-09T16:01:14.783 回答