애플리케이션 설정을 사용하면 Windows Forms 또는 ASP.NET 애플리케이션에서 애플리케이션 범위 및 사용자 범위 설정을 저장하고 검색할 수 있습니다. 이 컨텍스트에서 설정 은 데이터베이스 연결 문자열에서 사용자가 선호하는 기본 창 크기에 이르기까지 애플리케이션에 특정하거나 현재 사용자와 관련될 수 있는 모든 정보입니다.
기본적으로 Windows Forms 애플리케이션의 애플리케이션 설정은 .NET 구성 시스템을 사용하여 설정을 XML 구성 파일에 저장하는 클래스를 사용합니다 LocalFileSettingsProvider . 애플리케이션 설정에서 사용하는 파일에 대한 자세한 내용은 애플리케이션 설정 아키텍처를 참조하세요.
중요합니다
.NET Framework에서 정의한 대부분의 구성 섹션은 .NET 6 이상 및 .NET Core 버전에서 더 이상 작동하지 않습니다. ConfigurationManager 는 호환성을 위해서만 제공됩니다. 최신 .NET은 app.config대신 앱 설정에 appsettings.json 파일을 사용합니다. .NET Framework에서 .NET으로 업그레이드한 후 현대화를 참조하세요.
app.config 사용량을 제거하고 해당 API(사용 가능한 경우)를 호출하여 동일한 설정을 만드는 것이 좋습니다. 자세한 내용은 .NET의 구성을 참조하세요.
애플리케이션 설정은 사용하는 구성 파일의 일부로 다음 요소를 정의합니다.
| 요소 | Description |
|---|---|
<applicationSettings> |
애플리케이션과 관련된 모든 <setting> 태그를 포함합니다. |
<userSettings> |
현재 사용자와 관련된 모든 <setting> 태그를 포함합니다. |
<setting> |
설정을 정의합니다. 또는 <userSettings>.의 자식입니다<applicationSettings>. |
<value> |
설정의 값을 정의합니다. 의 자식입니다 <setting>. |
<applicationSettings> 요소
이 요소에는 클라이언트 컴퓨터의 애플리케이션 인스턴스와 관련된 모든 <setting> 태그가 포함됩니다. 특성을 정의하지 않습니다.
<userSettings> 요소
이 요소는 현재 애플리케이션을 사용 중인 사용자와 관련된 모든 <setting> 태그를 포함합니다. 특성을 정의하지 않습니다.
<setting> 요소
이 요소는 설정을 정의합니다. 다음과 같은 특성이 있습니다.
| 특성 | Description |
|---|---|
name |
필수 사항입니다. 설정의 고유 ID입니다. Visual Studio를 통해 만든 설정은 이름으로 ProjectName.Properties.Settings저장됩니다. |
serializeAs |
필수 사항입니다. 값을 텍스트로 serialize하는 데 사용할 형식입니다. 유효한 값은 다음과 같습니다. - string. 값은 .를 사용하여 TypeConverter문자열로 직렬화됩니다.- xml. 값은 XML serialization을 사용하여 serialize됩니다.- binary. 값은 이진 serialization을 사용하여 텍스트로 인코딩된 이진 파일로 serialize됩니다.- custom. 설정 공급자는 이 설정에 대한 내재된 지식을 가지고 있으며 직렬화 및 직렬화 해제합니다. |
파일 맨 위에 있는 요소 아래에 <configSections> 항목으로 만든 <applicationSettings> 설정의 이름을 추가합니다. 다음은 그 예입니다.
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="WindowsFormsApp1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
<section name="WindowsFormsApp1.Properties.MyCustomSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
...
</configuration>
<value> 요소
이 요소에는 설정 값이 포함됩니다.
예시
다음 예제에서는 애플리케이션 범위 설정 2개와 사용자 범위 설정 2개를 정의하는 애플리케이션 설정 파일을 보여 줍니다.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="WindowsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</sectionGroup>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="WindowsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" />
</sectionGroup>
</configSections>
<applicationSettings>
<WindowsApplication1.Properties.Settings>
<setting name="Cursor" serializeAs="String">
<value>Default</value>
</setting>
<setting name="DoubleBuffering" serializeAs="String">
<value>False</value>
</setting>
</WindowsApplication1.Properties.Settings>
</applicationSettings>
<userSettings>
<WindowsApplication1.Properties.Settings>
<setting name="FormTitle" serializeAs="String">
<value>Form1</value>
</setting>
<setting name="FormSize" serializeAs="String">
<value>595, 536</value>
</setting>
</WindowsApplication1.Properties.Settings>
</userSettings>
</configuration>
참고하십시오
.NET