質問

ました。NETプロジェクトと言いて構成設定のように接続文字列に格納されます。設定ファイルは、各開発者チームメイト(使用している地元のSQLサーバーや、特定サーバのインスタンスはリモートサーバーです。

どのようにすることができますの構造化を行うことができ、かつ、その各開発者が独自の開発"設定"(ないにチェックソース制御)では、デフォルトの接続文字列でチェックソース制御を提供し、正しいデフォルト値を構築プロセスや新しい開発者).


編集:できるか"file"法案@Jonathonとの connectionStrings のでしょうか。

役に立ちましたか?

解決

AppSettingsオーバーライドできるファイル:

<appSettings file="localoveride.config"/>

これにより、各開発者によるいは、それぞれの地域を設定します。

との接続文字列はすべて開発者ネットワークを形成し、テストデータベースなSQLサーバーです。

しかし、私がその場で発音を確認することがでエンターテインメントという名前のファイル。Config.Prdソース制御、そのために構築ます。れば変更します。configをもって追加、変更になります。PRDファイルがない---良い自動化もコメントありがとうございます(

他のヒント

編集:では、"ファイル"の方法を提案 by@Jonathonとの connectionStringsのでしょうか。

はい複数の接続文字列をチェックされたconfigファイルを使用AppSettingsキーをConnectionStringを使用することができる。私は、以下の私のコードベースのためこの目的:

public class ConnectionString
{
    public static string Default
    {
        get 
        { 
            if (string.IsNullOrEmpty(ConfigurationManager.AppSettings["DefaultConnectionStringName"]))
                throw new ApplicationException("DefaultConnectionStringName must be set in the appSettings");

            return GetByName(ConfigurationManager.AppSettings["DefaultConnectionStringName"]);
        }
    }

    public static string GetByName(string dsn)
    {
        return ConfigurationManager.ConnectionStrings[dsn].ConnectionString;
    }
}

私は常にテンプレートのための私のconfigファイルです。

一例として使っていNAntの建物のための私。いファイルの確認と呼ばれます。ます。形式をサポートしています。テンプレートを作成します。私NAntの構築に警告を表示、開発者の場合local.properties.xml 存在しない。内部とファイルのワークステーション設定には以下が含まれます。.テンプレートをチェックを入源管理が、実際のconfigいます。

使ってい非常に古風なデザインはいいものです。

  • /_Test__アプリです。config
  • /_Prod__アプリです。config
  • /アプリです。config

そして私のnantスクリプト、タスクをコピーし、現在のビルド環境プラス_アプリです。configコピーします。config.

その手にできなと提供者やConfigurationManager作妨害するよう提供者を見て"common"と"prod"接続文字列として3名の接続文字列です。

nantタスク:

<target name="copyconfigs" depends="clean">
  <foreach item="File" property="filename" unless="${string::get-length(ConfigPrefix) == 0}">
   <in>
     <items>
       <include name="**/${ConfigPrefix}App.config" />
       <include name="**/${ConfigPrefix}connectionstrings.config" />
       <include name="**/${ConfigPrefix}web.config" />
     </items>
   </in>
   <do>
    <copy overwrite="true" file="${filename}" tofile="${string::replace(filename, ConfigPrefix,'')}" />
   </do>
  </foreach></target>

では、"ファイル"の方法を提案する@JonathonとのconnectionStringsのでしょうか。

しかしながらできない理由は何もありませんからの格納にConnectionStringとしてAppSettingsます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top