programing

Windows Forms C# 응용프로그램에서 구성 파일을 가지는 가장 간단한 방법

muds 2023. 9. 23. 23:10
반응형

Windows Forms C# 응용프로그램에서 구성 파일을 가지는 가장 간단한 방법

저는 처음이에요.NET, 구성 파일의 작동 방식에 대해 아직도 이해하지 못했습니다.

Google에서 검색할 때마다 web.config에 대한 결과가 나타나지만 Windows Forms 응용 프로그램을 작성하고 있습니다.

시스템을 사용해야 한다는 것을 알았습니다.구성 네임스페이스인데 설명서가 도움이 되지 않습니다.

구성 파일이 XYZ.xml임을 정의하려면 어떻게 해야 합니까?아니면 구성 파일의 "기본" 이름을 가지고 있습니까?아직도 못 알아들었어요.

또한 새 섹션은 어떻게 정의해야 합니까?ConfigurationSection에서 상속되는 클래스를 만들어야 합니까?

다음과 같은 몇 가지 값을 가진 구성 파일을 가지고 싶습니다.

<MyCustomValue>1</MyCustomValue>
<MyCustomPath>C:\Some\Path\Here</MyCustomPath>

간단한 방법이 있습니까?간단한 구성 파일을 읽고 쓰는 방법을 간단한 방법으로 설명해 주시겠습니까?

앱을 사용하려고 합니다.구성.

프로젝트에 새 항목을 추가하면 Applications Configuration(애플리케이션 구성) 파일이라는 것이 있습니다.추가해주세요.

그런 다음 구성/앱 설정 섹션에서 키를 추가합니다.

좋아요:

<configuration>
 <appSettings>
  <add key="MyKey" value="false"/>

작업을 수행하여 구성원에 액세스

System.Configuration.ConfigurationSettings.AppSettings["MyKey"];

에 적용됩니다.NET 2 이상.

이전 답변에 대한 해명...

  1. 프로젝트에 새 파일 추가(AddNew ItemApplication Configuration File)

  2. 새 구성 파일이 솔루션 탐색기에 App으로 나타납니다.구성.

  3. 다음을 템플릿으로 사용하여 설정을 이 파일에 추가합니다.

    <configuration>
      <appSettings>
        <add key="setting1" value="key"/>
      </appSettings>
      <connectionStrings>
        <add name="prod" connectionString="YourConnectionString"/>
      </connectionStrings>
    </configuration>
    
  4. 다음과 같이 검색합니다.

    private void Form1_Load(object sender, EventArgs e)
    {
        string setting = ConfigurationManager.AppSettings["setting1"];
        string conn = ConfigurationManager.ConnectionStrings["prod"].ConnectionString;
    }
    
  5. 빌드되면 출력 폴더에 <assemblyname>.exe.config라는 파일이 포함됩니다.이것은 의 복사본이 될 것입니다.구성 파일.이 파일을 만들기 위해 개발자가 더 이상 작업할 필요가 없습니다.

이전 답변을 잠깐 읽어보니 정확해 보이지만 Visual Studio 2008의 새로운 구성 기능에 대해 언급한 사람은 없는 것 같습니다.여전히 app.config(컴파일 시 YourAppName.exe.config로 복사됨)를 사용하지만 속성을 설정하고 유형을 지정하는 UI 위젯이 있습니다.Settings(설정)을 두 번 클릭합니다.프로젝트의 "속성" 폴더에 있는 설정.

가장 좋은 점은 코드에서 이 속성에 액세스하는 것이 안전하다는 것입니다. 컴파일러는 속성 이름을 잘못 입력하는 것과 같은 명백한 실수를 발견합니다.예를 들어 app.config의 MyConnectionString이라는 속성은 다음과 같이 액세스됩니다.

string s = Properties.Settings.Default.MyConnectionString;

App.config 파일(web.config와 매우 유사함)을 생성해야 합니다.

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 새 항목을 추가한 후 새 "Application Configuration File"을 선택해야 합니다.

시스템을 사용하여 추가해야 합니다.프로젝트의 구성입니다.

그러면 여기에 값을 추가할 수 있습니다.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="setting1" value="key"/>
  </appSettings>
  <connectionStrings>
    <add name="prod" connectionString="YourConnectionString"/>
  </connectionStrings>
</configuration>

    private void Form1_Load(object sender, EventArgs e)
    {
        string setting = ConfigurationManager.AppSettings["setting1"];
        string conn = ConfigurationManager.ConnectionStrings["prod"].ConnectionString;
    }

참고 사항:Microsoft에 따르면 ConfigurationSettings(구성 설정) 대신 ConfigurationManager(구성 관리자)를 사용해야 합니다(비고 부분 참조).

"ConfigurationSettings 클래스는 하위 호환성만 제공합니다.새 애플리케이션의 경우 Configuration Manager 클래스 또는 WebConfiguration Manager 클래스를 대신 사용해야 합니다."

구성 파일의 기본 이름은 [your exe] 입니다.exe.config.config.config.exe.config.config.config.메모장.라는 구성 .exe는 notepad.exe.config라는 이름의 구성 파일을 프로그램과 동일한 폴더에 갖게 됩니다.및이지만,및 CLR이지만 프레임워크은에 할 수 있습니다.<appSettings>마디마디

<appSettings>는 element름 수 있는 을 만듭니다.System.Configuration.ConfigurationSettings.AppSettings 내용을 그러나 변경 내용을 구성 파일에 다시 저장할 수 있는 방법은 없습니다.

를 된 설정을 등 IConfigurationSectionHandler그리고 그것을 에 추가합니다.<configSections>구성 파일의 요소입니다.다로 수 있습니다.ConfigurationSettings.GetConfig.

이 새 NET 2.0은 새로운 클래스를 추가합니다.System.Configuration.ConfigurationManager 합니다에 또한 수정된 구성을 설정 파일에 다시 저장할 수도 있습니다.

는 Visual Studio 는라는 .App.config가 빌드될 됩니다.됩니다 EXE 으로.

에 관한 최고의 (IMHO) 기사.NET 애플리케이션 구성은 CodeProject에서 의 미스터리를 풀어내고 있습니다.NET 2.0 구성.다음으로 제가 가장 좋아하는 (짧은) 기사는 의 섹션입니다.NET 구성 파일은 섹션 핸들러 이해 - App.config 파일입니다.

Windows 폼)에는 Windows Forms(윈도우 폼)( )가.app.config합니다와 web.config파일. 하지만 필요한 것은 사용자 지정 값이므로 설정을 사용하는 것이 좋습니다.

그러려면 프로젝트 속성을 연 다음 설정으로 이동합니다.설정 파일이 존재하지 않으면 해당 파일을 만들 수 있는 링크가 있습니다.그런 다음 적절한 XML과 설정을 로드하고 저장하는 데 사용할 수 있는 Settings 클래스를 모두 생성할 수 있는 설정을 테이블에 추가할 수 있습니다.

설정 클래스의 이름은 다음과 같습니다.DefaultNamespace.Properties.Settings. 그러면 다음과 유사한 코드를 사용할 수 있습니다.

using DefaultNamespace.Properties;

namespace DefaultNamespace {
    class Class {
        public int LoadMySettingValue() {
            return Settings.Default.MySettingValue;
        }
        public void SaveMySettingValue(int value) {
            Settings.Default.MySettingValue = value;
        }
    }
}

app.config에 대한 다른 답변에 동의합니다.그러나 app.config에서 값을 직접 읽기보다는 유틸리티 클래스(AppSettings는 내가 사용하는 이름)를 만들어 값을 읽고 속성으로 노출해야 합니다.AppSettings 클래스를 사용하여 app.config의 값 및 Assembly의 application version 정보(AssemblyVersion 및 AssemblyFileVersion)와 같은 여러 저장소의 설정을 집계할 수 있습니다.

아주 간단한 방법은 자신만의 맞춤형 수업을 사용하는 것입니다.

용도:

System.Configuration.ConfigurationSettings.AppSettings["MyKey"];

앱 설정이 더 이상 사용되지 않아 이제는 사용되지 않는 것으로 간주됩니다(링크).

또한 app.config의 appSettings 섹션이 applicationSettings 섹션으로 대체되었습니다.

다른 사람이 언급한 것처럼 시스템을 사용해야 합니다.배열.에 대한 새로운 구성 관리자(링크).NET 2.0.

의 버전입니다.NET과 Visual Studio를 사용하고 계십니까?

새 프로젝트를 생성할 때 솔루션에 app.config라는 파일이 있어야 합니다.이것이 기본 구성 파일입니다.

언급URL : https://stackoverflow.com/questions/114527/simplest-way-to-have-a-configuration-file-in-a-windows-forms-c-sharp-application

반응형