콘솔 애플리케이션 C #의 App.Config 파일


92


파일 이름을 쓰고 싶은 콘솔 응용 프로그램이 있습니다.

Process.Start("blah.bat");

일반적으로, 나는 파일의 이름을 기록하여 Windows 응용 프로그램에서 그런 일을했을 'blah.bat'설정 에서 파일 속성을 .
그러나 여기서는 설정 파일을 찾지 못했고 동일한 목적으로 app.config 를 추가했습니다 .

여기에 app.config에 무엇을 써야할지 모르겠습니다. 그러면 Windows Forms 에서와 비슷한 결과를 얻을 수 있습니다.

예 : Windows 양식에서. Process.Start(Properties.Settings.Default.BatchFile);
어디 BatchFile속성의 설정 파일의 문자열입니다.

답변:


213

System.Configuration프로젝트에서에 참조를 추가 한 후 다음 을 수행 할 수 있습니다 .

using System.Configuration;

그때

string sValue = ConfigurationManager.AppSettings["BatchFile"];

다음과 같은 app.config파일로 :

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <appSettings>
       <add key="BatchFile" value="blah.bat" />
   </appSettings>
</configuration>

11
ConfigurationSettings.AppSettings["blah.bat"]사용 가능하지만 이것이 쓸모가 없다는 경고를 표시합니다. ConfigurationManager위와 같이 사용하려고하면 ConfigurationManager가 현재 컨텍스트에 존재하지 않는다는 오류가 표시됩니다. :-/
user1240679

69
System.Configuration에 대한 참조도 추가해야합니다. using내구성은 사용하려는 어셈블리에 대한 참조가있는 경우에만 작동합니다.
xxbbcc

1
늦게 댓글을 달았지만 저에게 내 실수는 appSettings에서 대문자 'S'를 잊었다는 것입니다.

문자열이 아닌 int 또는 bool을 어떻게 얻습니까?
Zapnologica

1
@Zapnologica 고려되는 한 모든 것은 문자열 AppSettings입니다. 숫자가 포함 된 설정 문자열이있는 경우 호출 등을 통해 구문 분석해야합니다 int.TryParse(). 문자열이 아닌 다른 값을 처리하려는 다른 값도 마찬가지입니다.
xxbbcc

19

.NET Core의 경우 NuGet 관리자에서 System.Configuration.ConfigurationManager를 추가합니다.
그리고 App.config 에서 appSetting 을 읽으십시오.

<appSettings>
  <add key="appSetting1" value="1000" />
</appSettings>

NuGet Manager에서 System.Configuration.ConfigurationManager 추가

여기에 이미지 설명 입력

ConfigurationManager.AppSettings.Get("appSetting1")

2

이것을 사용하십시오

System.Configuration.ConfigurationSettings.AppSettings.Get("Keyname")

appsettion 및 Fetch the value use example에 대한 구성을 저장할 수 있습니다.
user5705992

1
런타임 버전 1.x에 대한 지원을 제공합니다. 이것은 이제 쓸모없습니다 . 사용하십시오System.Configuration.ConfigurationManager.AppSettings
wp78de

1
System.Configuration 어셈블리는 참조에 필요합니다.
Muflix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.