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