【问题标题】:Storing EF database connection strings in Silverlight project在 Silverlight 项目中存储 EF 数据库连接字符串
【发布时间】:2011-05-24 14:17:37
【问题描述】:

我们是一个由 4 名开发人员组成的团队,致力于同一个项目。我们使用实体框架来访问我们的 SQL 数据库后端。我们将连接字符串存储在 web.config 中。

每个开发人员都在针对自己的本地 SQL Server 数据库测试他的代码。这意味着每个开发人员在 web.config 中都有自己的 SQL Server 连接字符串。我的机器上通常有几个不同的数据库副本,其中包含来自不同场景的数据,我通过编辑连接字符串在它们之间切换。一个数据库可能是空的,另一个可能包含大量的测试数据等等。

我们面临的问题是我们不小心将 web.config 定期签入到源代码管理中,这意味着当团队中的其他开发人员从源代码​​管理中检索最新代码时,他的本地 web.config - 与他的连接字符串 - 将被其他开发人员的连接字符串覆盖。 (顺便说一句,我们正在使用 AccuRev,其中没有忽略某些文件的好方法)。

我想到了几种不同的骇人听闻的解决方案:

  • 创建一个新的配置文件,我们在其中存储计算机特定的配置。我们不在源代码管理中签入此文件。或者我们使用其他名称签入。
  • 在源代码管理中将 web.config 重命名为 web.config.default(或其他名称)。从源代码管理中签出后,开发人员必须将 web.config.default 重命名为 web.config,然后才能运行。

肯定有一些标准的方法来处理这个问题?

【问题讨论】:

    标签: asp.net configuration connection-string


    【解决方案1】:

    如果你使用 Visual Studio 2010,你可以使用 web.config 转换。

    只是一个想法...
    每个开发人员都需要设置自己的构建配置,例如 DebugDeveloperA、DebugDeveloperB、Staging、Relase 等...
    Visual Studio 2010 会为每个构建配置创建 web.config 转换文件,因此如果您从源代码管理中获得最新版本,则需要确保使用您的构建配置。

    【讨论】:

      【解决方案2】:

      我采用了以下解决方案:

      • 在源代码管理中将 web.config 重命名为 web.config.default(或其他名称)。
      • 作为预构建步骤,检查 web.config 是否存在。如果没有,请将 web.config.default 复制到 web.config。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-07-19
        • 2019-03-31
        • 1970-01-01
        • 1970-01-01
        • 2017-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多