source

WPF 애플리케이션에서 App.config 파일을 사용하는 방법은 무엇입니까?

nicesource 2023. 5. 4. 20:03
반응형

WPF 애플리케이션에서 App.config 파일을 사용하는 방법은 무엇입니까?

WPF 애플리케이션에서 App.config 파일을 생성했습니다.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appsettings>
    <add key="xmlDataDirectory" value="c:\testdata"/>
  </appsettings>
</configuration>

그런 다음 이 값을 읽어내려 합니다.

string xmlDataDirectory = ConfigurationSettings.AppSettings.Get("xmlDataDirectory");

그러나 이것은 구식이며 클래스 뷰에서 검색조차 할 수 없는 Configuration Manager를 사용해야 한다고 합니다.

WPF에서 이와 같은 구성 파일을 사용하는 방법을 아는 사람이 있습니까?

다음을 참조해야 합니다.System.ConfigurationGAC에 있는 어셈블리.

사용ConfigurationManagerWPF에 특정되지 않음: 모든 유형의 응용 프로그램에 대한 구성 정보에 액세스할 수 있는 권한 있는 방법입니다.

자세한 내용은 Microsoft 문서 - 클래스를 참조하십시오.

저의 경우, 저는 아래 단계를 따랐습니다.

App.config

<configuration>  
   <startup> 
       <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>

 <appSettings>
   <add key="POCPublishSubscribeQueueName" value="FormatName:Direct=OS:localhost\Private$\POCPublishSubscribe"/>
 </appSettings>

</configuration>

추가된System.Configuartion내 프로젝트에.

추가된using System.Configuration맨 위에 있는 파일에 있는 문.

그런 다음 다음 다음 문장을 사용했습니다.

string queuePath = ConfigurationManager.AppSettings["POCPublishSubscribeQueueName"].ToString();

당신의app.config앱 설정을 다음으로 변경:

<applicationSettings>
    <WpfApplication1.Properties.Settings>
        <setting name="appsetting" serializeAs="String">
            <value>c:\testdata.xml</value>
        </setting>
    </WpfApplication1.Properties.Settings>
</applicationSettings>

그 다음 코드백에서:

string xmlDataDirectory = WpfApplication1.Properties.Settings.Default.appsetting.ToString()

당신은 참조해야 합니다.System.Configuration탐색기를 통해(추가뿐만 아니라)using System.Configuration그러면 다음과 같이 쓸 수 있습니다.

string xmlDataDirectory = 
    System.Configuration.ConfigurationManager.AppSettings.Get("xmlDataDirectory");

VS2010으로 테스트 완료(www.developpez.net 덕분).이게 도움이 되길 바랍니다.

다음에 참조를 추가해야 합니다.System.configuration당신의 해결책에.또한 다음을 포함합니다.using System.Configuration;이렇게 하면 모든 구성 설정에 액세스할 수 있습니다.

이것도 작동합니다.

WpfApplication1.Properties.Settings.Default["appsetting"].ToString()

의 속성을 통해 구성 파일 스키마를 다시 변경할 수 있습니다.app.config파일. 필요한 스키마의 대상을 찾으려면 이름으로 스키마를 검색하거나 WinForms 응용 프로그램을 만들고 구성 파일을 프로젝트에 추가하면 해당 속성에서 파일에 대한 전체 경로를 찾을 수 있습니다.

Microsoft의 응용 프로그램 설정에 대한 좋은 기사가 있습니다.이에 따라 다음을 수행해야 합니다.

  • App.config 파일을 수동으로 만듭니다(Project Context 메뉴 -> Add -> New Item...).-> 응용프로그램 구성 파일)응용 프로그램 구성 파일을 추가하기 위한 대화 상자 창
  • 필요한 섹션 추가(응용 프로그램 범위 설정만 사용):
<?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="DevelopmentEnvironmentManager.WPF.Properties.Settings"
                     type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <DevelopmentEnvironmentManager.WPF.Properties.Settings>
            <setting name="SqliteDbFilePath" serializeAs="String">
                <value>Database.db</value>
            </setting>
            <setting name="BackgroundColor" serializeAs="String">
                <value>White</value>
            </setting>
            <setting name="TextColor" serializeAs="String">
                <value>Black</value>
            </setting>
        </DevelopmentEnvironmentManager.WPF.Properties.Settings>
    </applicationSettings>
</configuration>

참고: '개발 환경 관리자'를 교체합니다.응용프로그램 이름이 포함된 'WPF'입니다.

또한 프로젝트의 속성으로 이동하여 설정을 추가할 수 있습니다.디자이너: 이렇게 하면 프로젝트에 편리한 디자이너가 추가되므로 XML을 수동으로 편집할 필요가 없습니다.

코드에서 설정에 액세스하려면 - 모든 구성 편집기를 저장하고 닫기만 하면 됩니다. 앱을 빌드하고 정적 속성에 액세스합니다(다시 말하지만 네임스페이스에서 앱 이름을 변경하는 것을 잊지 마십시오).

string databasePath = DevelopmentEnvironmentManager.WPF.Properties.Settings.Default.SqliteDbFilePath;

코드에서 설정 액세스

클래스 라이브러리 WPF 프로젝트를 사용하고 있습니다.

'Read Settings
Dim value as string = My.Settings.my_key
value = "new value"

'Write Settings
My.Settings.my_key = value
My.Settings.Save()

언급URL : https://stackoverflow.com/questions/806174/how-to-use-a-app-config-file-in-wpf-applications

반응형