2010-12-13 12 views
0

私たちは同じプロジェクトを担当する4人の開発者のチームです。 Entity Frameworkを使用して、SQLデータベースのバックエンドにアクセスします。 web.configに接続文字列を格納します。SilverlightプロジェクトにEFデータベース接続文字列を格納する

各開発者は、自分のローカルSQLサーバーデータベースに対してコードをテストしています。これは、各開発者がweb.configに独自のSQL Server接続文字列を持つことを意味します。私は通常、マシン上にデータベースのいくつかの異なるコピーを持っています。異なるシナリオのデータがあり、接続文字列を編集することで切り替わります。 1つのデータベースが空であり、別のデータベースが膨大な量のテストデータを含むことがあります。

私たちが直面している問題は、間違ってweb.configをソース管理規則にチェックインするということです。つまり、チームの他の開発者がソース管理から最新のコードを取得すると、ローカルのweb.config - 彼の接続文字列で - 他の開発者のもので上書きされます。 (私たちは、特定のファイルを無視する良い方法がないところでAccuRevを使用しています)。

私は別のハックソリューションのカップルを考えてきました:

  • は、我々はコンピュータ固有の設定を保存する新しい設定ファイルを作成します。ソース管理でこのファイルをチェックインしません。または、別の名前を使用してチェックします。
  • web.configの名前をソース管理のweb.config.default(または何か)に変更します。ソース管理からチェックアウトした後、開発者は実行前にweb.config.defaultの名前をweb.configに変更する必要があります。

確かにこれを処理する標準的な方法がありますか?

答えて

0

Visual Studio 2010を使用している場合は、web.config変換を使用できます。

ちょうど思考...
すべての開発者は、などDebugDeveloperA、DebugDeveloperB、ステージング、Relase、のように、彼/彼女の自身のビルド構成を設定する必要があります...
のVisual Studio 2010には、web.configファイルの形質転換のファイルを作成しますすべてのビルド構成について、ソース管理から最新のバージョンを取得する場合は、ビルド構成を使用することを確認する必要があります。

0

私は、次の解決策と一緒に行きました:

  • は、ソース管理にweb.config.default(か何か)するためにweb.configファイルの名前を変更します。
  • prebuildステップとして、web.configが存在するかどうかを確認します。そうでない場合は、web.config.defaultをweb.configにコピーします。
関連する問題