1

初めて app.config ファイルを使用していますが、プロジェクト参照と app.config ファイルを使用する状況でどのように進めればよいかわかりません。私が取り組んでいるプロジェクトの説明は次のとおりです。

Project1 (プロセス ロガー) は、Project1 の app.config ファイルで指定されたデータベースにログ テーブルを設定します。

Project2 (電卓) は計算を実行し、Project2 の app.config ファイルで指定されたデータベースにテーブルを設定します。Project1 への参照を使用してログを記録します。

Project2 で Project1 を参照すると、"Release" フォルダーに Project1 の app.config ファイルが表示されません。この状況を処理する最善の方法は何ですか? Project1 の app.config ファイルでデータベースを構成可能にする代わりに、Project2 が指定するパラメーターにする必要がありますか (Project2.LogConnectionString は Project1 の関数にパラメーターとして送信されます)。または、app.config ファイルを "Release" フォルダーに表示する方法はありますか?

何か助けていただければ幸いです。これを行う正しい方法はわかりません。ありがとう!

4

4 に答える 4

3

構成ファイルは、スタートアップ プロジェクトに基づいています。つまり、proj2 で proj1 から何かをインスタンス化すると (proj1 は proj2 の参照になります)、proj2 から app.config を使用できます。

基本的に、すべての設定を proj2 に保存して、必要に応じて使用できます。

ところで、プロジェクト名を変更してください;)

于 2013-03-21T14:52:26.520 に答える
1

.NET アプリケーションには 1 つの構成ファイルがあります。通常、実行可能ファイルの名前があります。.NET は、アセンブリごとの構成ファイルをサポートしていません。

実行可能ファイルからロガー プロジェクトに接続文字列を渡す必要があります。

于 2013-03-21T14:49:36.130 に答える
0

デフォルトの Properties.Settings (ここで説明されている app.config と設定の違い) を使用し、Project2 で Project1 を参照している場合、次のようにすることができます。

// in Project2: 
    string connectionstring = NamespaceOfProject1.Properties.Settings.Default.Project1ConnString;
于 2013-03-21T15:17:53.087 に答える
0

最適なオプションは、実行時に Project2 内に Project1 confing をロードすることです。私がすることは、Project2 confing 内に構成文字列 (または必要に応じてカスタム構成セクション) を配置することです。この設定は基本的に、アプリに Project1 構成を探す場所を伝えるだけです。

confing パスを取得したら、次のようにロードできます。

    System.Configuration.ExeConfigurationFileMap configFile = new System.Configuration.ExeConfigurationFileMap();
    configFile.ExeConfigFilename = "my_file.config";
    config = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(configFile, System.Configuration.ConfigurationUserLevel.None);
    settings = config.AppSettings.Settings;

この場合、Project1 から AppSettings にアクセスしています。

また、私が言及したカスタム構成については、私の投稿の 1 つを参照してください。より複雑な設定が必要な場合は、このカスタム構成セクションが役に立ちます。

于 2013-03-21T14:57:41.350 に答える