본문 바로가기

C#/예제 코드

c# config 값 저장하기 (process.env?)

사전지식

node.js 에서는  .env 파일에 필요한 환경변수 같은것을 저장하여 소스코드에 노출되지 않게 사용하곤한다.

C#에도 당연히 그러한 것이 있다.

근데 조금 장황하게 되어 있어서 그런지 사용법을 가끔식 까먹는다.


준비물 nuget.org

Install-Package System.Configuration.ConfigurationManager -Version 6.0.0

OR

dotnet add package System.Configuration.ConfigurationManager --version 6.0.0

 


실습

※ .net6.0 ( C#10.0 에서는 Main()을 생략한다 )

using System.Configuration;

var  config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

var settings = config.AppSettings.Settings;

if (settings["test"] == null) settings.Add("test", "1");
else settings["test"].Value = (int.Parse(settings["test"].Value) + 1).ToString();

config.Save(ConfigurationSaveMode.Modified); //파일에 저장
Console.WriteLine(settings["test"].Value);

실행

3번 실행하였다.


자동생성된 파일

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appSettings>
        <add key="test" value="3" />
    </appSettings>
</configuration>

빌드된 폴더에  [프로젝트명].dll.config 로 저장된다.