C# の App.Config

Fil Zjazel Romaeus Villegas 2023年10月12日
  1. C# の App.config への接続文字列の追加
  2. C# の App.config へのアプリ設定の追加
  3. C# の App.Config の例
C# の App.Config

このチュートリアルでは、C# プロジェクトの App.Config ファイルについて説明し、その使用方法を示します。

App.Config、またはアプリケーションレベルの構成ファイルは、使用可能な事前定義された構成セクションを含む XML ベースのファイルであり、変更可能なカスタム構成セクションを使用できます。多くの場合、新しいプロジェクトを作成するときに自動的に生成されます。

非常に基本的な App.Config は次のようになります。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
</configuration>

ご覧のとおり、実行時にサポートされる.NET のバージョンのみを指定します。ここから、アプリケーションがアセンブリファイルを見つけてロードする方法をカスタマイズできます。App.Config に加えられる変更の典型的な例は、プロジェクト全体でアクセスできる connectionStrings または appSettings を保存することです。

App.Config ファイルを希望どおりに設定した後、ConfigurationManager を介して保存された値を呼び出すことができます。ConfigurationManager を使用するには、System の using ステートメントを追加する必要があります。構成をコードに追加します。

C# の App.config への接続文字列の追加

接続文字列を追加するには、connectionStrings のセクションが存在することを確認する必要があります。次に、その中に、使用する接続文字列とプロバイダー名を追加できます。プロバイダー名の値は、接続文字列に対応する名前空間である必要があります。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
        <add name="myConnectionString"
			connectionString="Data Source =MSI\SQLEXPRESS; Initial Catalog =SampleDB; Integrated Security=True"
			providerName="System.Data.SqlClient"
        />
    </connectionStrings>
</configuration>

コード内のこの接続文字列にアクセスするには、ConfigurationManager を使用して、ConnectionStrings コレクション全体にアクセスできます。そこから、目的の接続文字列をその名前でプルできます。

string connectionString =
    ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;

C# の App.config へのアプリ設定の追加

アプリ設定構成を追加するには、appSettings セクションが存在することを確認する必要があります。次に、その中に、呼び出されるキーとその値を指定して、新しいアプリ設定を追加できます。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
    	<add key="TableName" value="SampleTable" />
  	</appSettings>
</configuration>

この構成にアクセスするには、ConfigurationManager を使用し、以下の構文を使用して AppSettings コレクション全体にアクセスできます。

var tableName = ConfigurationSettings.AppSettings["TableName"];

C# の App.Config の例

App.Config ファイルの概念のいくつかについて説明したので、それらを組み合わせて例を示します。

XML:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
	<connectionStrings>
		<add name="myConnectionString"
			connectionString="Data Source =MSI\SQLEXPRESS; Initial Catalog =SampleDB; Integrated Security=True"
			providerName="System.Data.SqlClient"
        />
	</connectionStrings>
	<appSettings>
		<add key="TableName" value="SampleTable" />
	</appSettings>
</configuration>

App.Config ファイルに、単一の接続文字列と TableName という名前の構成を保存しました。それらの異なるセクションとそれらの異なる構文に注意してください。

C#:

using System;
using System.Configuration;

namespace AppConfig_Example {
  class Program {
    static void Main(string[] args) {
      // Pull the connection string from the App.Config File
      string connectionString =
          ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;

      // Pull the app setting from the App.Config File
      var tableName = ConfigurationSettings.AppSettings["TableName"];

      // Print the values to the console
      Console.WriteLine("Configuration String: " + connectionString + "\n");
      Console.WriteLine("Table Name: " + tableName);

      Console.ReadLine();
    }
  }
}

ConfigurationManager を使用して、プログラムコードの App.Config ファイルに保存されている値を取得しました。それらが正しく保存およびプルされたことを示すために、それらの値がコンソールに出力されます。

出力:

Configuration String: Data Source =MSI\SQLEXPRESS; Initial Catalog =SampleDB; Integrated Security=True
    
Table Name: SampleTable