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를 사용하려면 시스템에 대한 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이라는 구성을 저장했습니다. 서로 다른 섹션과 구문에 유의하십시오.

씨#:

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