【发布时间】:2011-01-19 12:46:56
【问题描述】:
我能否创建仅适用于我的开发人员计算机的 app.config 或 web.config 文件,而不是使用签入源代码管理的默认配置文件?
【问题讨论】:
标签: .net asp.net version-control web-config app-config
我能否创建仅适用于我的开发人员计算机的 app.config 或 web.config 文件,而不是使用签入源代码管理的默认配置文件?
【问题讨论】:
标签: .net asp.net version-control web-config app-config
如果您想要仅适用于您的机器的配置,并且每个开发人员都可能会做同样的事情,那么您可以像我们一样做,并且在 web.config 中只有一个最低配置,这是解决方案的一部分,其余部分在您的全局 web.config 或 machine.config 中(如果您还需要使用一些桌面应用程序)。我们这样做是为了在 dev/qa/staging/prod 之间创建一个隔离的环境,并且仍然可以轻松地从一个环境推送到下一个环境,而无需编辑配置文件或担心覆盖它们。我们还通过包含主机文件条目来进一步隔离我们的环境,这些条目只允许 dev 中的机器与同一级别的其他机器进行通信。对于 qa/staging/prod 也是如此。
【讨论】:
使用名为 web.svn.config 的 web.config 副本进行源代码管理。
这样,源代码控制的配置文件 (web.svn.config) 包含所有必需的设置,每个开发人员都可以在他们的开发机器上维护自己的配置文件 (web.config)。
【讨论】:
我建议使用您的 app.config 或 web.config 引用的单独配置文件。
例如,在您的 web.config 中,您将拥有:
<configuration>
<appSettings file="Config/LocalDev.config">
</appSettings>
</configuration>
然后在 Config/LocalDev.config 你会有
<appSettings>
<add key="SomeKey" value="SomeValue"/>
<add key="AnotherKey" value="AnotherValue"/>
</appSettings>
您还可以使用您的生产设置创建一个 Config/Production.config 文件。 然后,您所要做的就是在部署时编辑 web.config 中的 appSettings 文件。
【讨论】:
您可以为每个环境创建一个 app.config,如果这是您正在寻找的。尝试这个: http://www.hanselman.com/blog/ManagingMultipleConfigurationFileEnvironmentsWithPreBuildEvents.aspx
【讨论】:
根据您想要实现的具体目标,您可能会发现Machine.config 很有帮助。
【讨论】:
为此,您需要从源代码管理中排除 web.config 或 app.config。
【讨论】:
我建议做的是签入“app.config.backup”文件,同时忽略所有 app.configs。这将允许您相应地修改自己的 app.config,而不会干扰其他开发人员的机器,同时允许更新现有的“基本”配置。
【讨论】: