다음을 통해 공유


구성 파일을 사용하여 앱 구성

메모

이 문서는 .NET Framework에만 적용됩니다. .NET 6 이상 버전을 포함하여 .NET의 최신 구현에는 적용되지 않습니다.

.NET Framework를 사용하면 개발자와 관리자가 구성 파일을 통해 애플리케이션을 실행하는 방식을 제어하고 유연하게 제어할 수 있습니다. 구성 파일은 필요에 따라 변경할 수 있는 XML 파일입니다. 관리자는 애플리케이션이 액세스할 수 있는 보호된 리소스, 애플리케이션에서 사용할 어셈블리 버전 및 원격 애플리케이션 및 개체가 있는 위치를 제어할 수 있습니다. 개발자는 설정을 구성 파일에 배치할 수 있으므로 설정이 변경 될 때마다 애플리케이션을 다시 컴파일할 필요가 없습니다. 이 섹션에서는 구성할 수 있는 항목과 애플리케이션 구성이 유용한 이유를 설명합니다.

메모

관리 코드는 System.Configuration 네임스페이스의 클래스를 사용하여 구성 파일에서 설정을 읽을 수 있지만 해당 파일에 설정을 쓸 수는 없습니다.

이 문서에서는 구성 파일의 구문을 설명하고 컴퓨터, 애플리케이션 및 보안의 세 가지 구성 파일에 대한 정보를 제공합니다.

구성 파일 형식

구성 파일에는 구성 정보를 설정하는 논리적 데이터 구조인 요소가 포함되어 있습니다. 구성 파일 내에서 태그를 사용하여 요소의 시작과 끝을 표시합니다. 예를 들어 <runtime> 요소는 <runtime>자식 요소</runtime>로 구성됩니다. 빈 요소는 <runtime/> 또는 <runtime></runtime>으로 작성됩니다.

모든 XML 파일과 마찬가지로 구성 파일의 구문은 대/소문자를 구분합니다.

요소의 시작 태그 내에서 이름/값 쌍인 미리 정의된 특성을 사용하여 구성 설정을 지정합니다. 다음 예제에서는 런타임이 어셈블리를 찾을 수 있는 위치를 지정하는 <codeBase> 요소의 두 특성(versionhref)을 지정합니다(자세한 내용은 어셈블리의 위치 지정참조).

<codeBase version="2.0.0.0"
          href="http://www.litwareinc.com/myAssembly.dll"/>

컴퓨터 구성 파일

컴퓨터 구성 파일(Machine.config)에는 전체 컴퓨터에 적용되는 설정이 포함되어 있습니다. 이 파일은 \Config 디렉터리%%런타임 설치 경로에 있습니다. Machine.config는 컴퓨터 전체 어셈블리 바인딩 및 기본 제공 원격 채널, ASP.NET에 대한 구성 설정을 포함합니다.

구성 시스템은 먼저 컴퓨터 구성 파일에서 개발자가 정의할 수 있는 <appSettings> 요소 및 기타 구성 섹션을 찾습니다. 그런 다음 애플리케이션 구성 파일을 찾습니다. 컴퓨터 구성 파일을 관리하기 위해 애플리케이션 구성 파일에 이러한 설정을 배치하는 것이 가장 좋습니다. 그러나 컴퓨터 구성 파일에 설정을 배치하면 시스템을 더 쉽게 유지 관리할 수 있습니다. 예를 들어 클라이언트 및 서버 애플리케이션에서 사용하는 타사 구성 요소가 있는 경우 해당 구성 요소에 대한 설정을 한 곳에 배치하는 것이 더 쉽습니다. 이 경우 컴퓨터 구성 파일은 설정에 적합한 위치이므로 두 개의 다른 파일에 동일한 설정이 없습니다.

메모

XCOPY를 사용하여 애플리케이션을 배포해도 컴퓨터 구성 파일의 설정은 복사되지 않습니다.

공용 언어 런타임이 어셈블리 바인딩에 컴퓨터 구성 파일을 사용하는 방법에 대한 자세한 내용은 런타임에서 어셈블리를 찾는 방법참조하세요.

애플리케이션 구성 파일

애플리케이션 구성 파일에는 앱과 관련된 설정이 포함되어 있습니다. 이 파일에는 공용 언어 런타임에서 읽는 구성 설정(예: 어셈블리 바인딩 정책, 원격 개체 등) 및 앱이 읽을 수 있는 설정이 포함됩니다.

애플리케이션 구성 파일의 이름과 위치는 다음 중 하나일 수 있는 앱의 호스트에 따라 달라집니다.

  • 실행 파일 호스트 앱입니다.

    이러한 앱에는 개발 중에 개발자가 수정한 원본 구성 파일과 앱과 함께 배포되는 출력 파일의 두 가지 구성 파일이 있습니다.

    기본적으로 원본 구성 파일의 이름은 App.config. Visual Studio에서 .NET Framework 프로젝트를 만들면 App.config 파일이 프로젝트에 자동으로 추가됩니다. 파일>새 파일선택하여 파일을 수동으로 추가할 수도 있습니다. 프로젝트 디렉터리에 App.config 파일을 배치하고, Copy To Output Directory 속성을 Copy always 또는 Copy if newer로 설정합니다.

    앱과 함께 배포된 출력 구성 파일을 만들기 위해 Visual Studio는 소스 구성 파일을 컴파일된 어셈블리가 배치된 디렉터리에 복사합니다. 이 파일의 이름은 yourappname>.exe.config<. 예를 들어 myApp.exe 앱에는 myApp.exe.config출력 구성 파일이 있습니다.

    경우에 따라 Visual Studio는 출력 구성 파일을 수정할 수 있습니다. 자세한 내용은 앱 수준의 리디렉션 버전을 참조하세요.

  • ASP. NET 호스팅 앱.

    ASP.NET 구성 파일에 대한 자세한 내용은 ASP.NET 구성 설정참조하세요.

보안 구성 파일

보안 구성 파일에는 정책 수준과 연결된 코드 그룹 계층 구조 및 권한 집합에 대한 정보가 포함됩니다. 코드 액세스 보안 정책 도구(Caspol.exe) 사용하여 정책 변경으로 보안 구성 파일이 손상되지 않도록 보안 정책을 수정하는 것이 좋습니다.

메모

.NET Framework 4부터 보안 구성 파일은 보안 정책이 변경된 경우에만 존재합니다.

보안 구성 파일은 다음 위치에 있습니다.

  • 엔터프라이즈 정책 구성 파일: %runtime-install-path%\Config\Enterprisesec.config

  • 컴퓨터 정책 구성 파일: %runtime-install-path%\Config\Security.config

  • 사용자 정책 구성 파일: %USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config

참고