「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.03.13
XML
カテゴリ: C#.NET


`ConfigurationManager` を使用する際に、明示的に特定の設定ファイル(通常は `app.config` や `web.config`)を指定する方法はありません。これは、`ConfigurationManager` が自動的に実行中のアプリケーションの設定ファイルを読み込むためです。


したがって、特定の設定ファイルを指定する必要がある場合は、その設定ファイルを読み込むカスタムロジックを実装する必要があります。その場合、`ExeConfigurationFileMap` クラスを使用して設定ファイルのパスを指定し、それを `ConfigurationManager.OpenMappedExeConfiguration` メソッドに渡します。


以下は、特定の設定ファイルを指定して `ConfigurationManager` を使用するサンプルコードです。


```csharp

using System;

using System.Configuration;

using System.IO;


namespace ConfigFileSample

{

    public partial class MainWindow : Window

    {

        public MainWindow()

        {

            InitializeComponent();


            try

            {

                // 設定ファイルのパスを指定

                string configFile = @"C:\Path\To\Your\Config\File.config";


                // 設定ファイルのマッピングを作成

                ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();

                configFileMap.ExeConfigFilename = configFile;


                // 設定ファイルをロード

                Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);


                // AppSettingsから値を取得する

                string serverAddress = config.AppSettings.Settings["ServerAddress"].Value;

                string databaseName = config.AppSettings.Settings["DatabaseName"].Value;

                string username = config.AppSettings.Settings["Username"].Value;

                string password = config.AppSettings.Settings["Password"].Value;


                // 取得した値を使用して何かしらの処理を行う

                Console.WriteLine($"ServerAddress: {serverAddress}");

                Console.WriteLine($"DatabaseName: {databaseName}");

                Console.WriteLine($"Username: {username}");

                Console.WriteLine($"Password: {password}");

            }

            catch (Exception ex)

            {

                // 設定が見つからない場合などのエラー処理

                Console.WriteLine($"An error occurred: {ex.Message}");

            }

        }

    }

}

```


この例では、`ExeConfigurationFileMap` を使用して `configFile` で指定された設定ファイルをマッピングし、それを `ConfigurationManager.OpenMappedExeConfiguration` メソッドに渡しています。そして、その設定ファイルから値を読み込んでいます。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.03.13 05:03:09


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: