我们是一个由4名开发人员组成的团队,负责同一个项目。我们使用Entity Framework来访问我们的SQL数据库后端。我们将连接字符串存储在web.config中。在Silverlight项目中存储EF数据库连接字符串
每个开发人员都在测试他自己的本地SQL服务器数据库的代码。这意味着每个开发人员在web.config中都有自己的SQL Server连接字符串。我通常在我的机器上有几个不同的数据库副本,来自不同场景的数据,我通过编辑连接字符串来切换数据。一个数据库可能是空的,另一个可能包含大量的测试数据等等。
我们面临的问题是我们意外地将web.config检入到源代码控制中,这意味着当一个团队中的其他开发人员从源代码控制中检索到最新代码时,他的本地web.config - 与他的连接字符串 - 将被来自其他开发人员的覆盖。 (我们正在使用AccuRev,其中没有好办法忽略某些文件)。
我想过了几个不同的hackish的解决方案的:
- 创建一个新的配置文件,我们存储计算机特定的配置。我们不检查源代码管理中的这个文件。或者我们使用其他名称进行检查。
- 将web.config重命名为源代码管理中的web.config.default(或其他)。在从源代码控制中签出后,开发人员必须将web.config.default重命名为web.config,然后才能运行。
当然必须有som的标准方式来处理这个问题吗?