如何在与团队合作时克服web.config的无穷问题?

时间:2011-09-28 08:33:38

标签: asp.net web-config

我是一群在不同地方和不同机器上工作的人。每个人都有自己的连接字符串,nhibernate设置(架构等)和wcf端点。 让我发疯的是,当有人在AppSettings部分添加新密钥时,我的设置会被他的覆盖。 有没有人知道某种方式以某种方式保留或更确切地覆盖某些web.config设置?也许以某种方式替换编译时并在别处定义它们?

1 个答案:

答案 0 :(得分:1)

这是我们使用的方法。在源代码管理中,我们提供了具有常见设置的文件web.config.development。他机器上的每个开发人员都有文件web.config,基本上是web.config.development与开发人员的个人设置合并。

每当对web.config.development进行任何常见更改时,他们的作者都会宣布(通过Skype或电子邮件等),并且每个开发人员都会将这些更改与他自己的web.config合并。在大多数情况下,web.config不会经常更改,因此这不是一项耗时的工作。但是我们考虑自动化这个过程,但到目前为止还没有找到任何好的解决方案。

这里的关键点是web.config不在源代码控制中,它永远不会,它永远不会。这可以保证连接字符串等个别设置不会被意外覆盖。

P.S。还有一点要考虑的是持续集成(如果你有一个)。我们在部署期间添加了一个步骤,web.config.development被重命名为web.config