2010-12-13 78 views
0

我们是一个由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的标准方式来处理这个问题吗?

回答

0

如果您使用visual studio 2010,则可以使用web.config转换。

只是一个想法...
每个开发人员需要建立他/她自己的构建的配置,如DebugDeveloperA,DebugDeveloperB,分期,RELASE,等...
Visual Studio 2010中创建的web.config文件改造的探讨对于每个构建配置,如果从源代码管理中获得最新版本,则需要确保使用构建配置。

0

我去了以下解决方案:

  • 重命名web.config中web.config.default(或东西)的源代码控制。
  • 作为预构建步骤,检查web.config是否存在。如果没有,请将web.config.default复制到web.config。
相关问题