구성 파일

업데이트: 2011년 3월

구성 파일은 필요에 따라 변경할 수 있는 XML 파일입니다. 개발자는 구성 파일을 사용하여 응용 프로그램을 다시 컴파일하지 않고 설정을 변경할 수 있습니다. 관리자는 구성 파일을 사용하여 응용 프로그램이 컴퓨터에서 실행되는 방식에 영향을 미치는 정책을 설정할 수 있습니다.

참고참고

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

이 항목에서는 구성 파일의 구문에 대해 설명하고 컴퓨터, 응용 프로그램 및 보안 등 세 가지 유형의 구성 파일에 대한 정보를 제공합니다.

구성 파일 서식

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

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

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

모든 XML 파일에서와 같이 구성 파일의 구문은 대/소문자를 구분합니다.

컴퓨터 구성 파일

컴퓨터 구성 파일인 Machine.config 에는 전체 컴퓨터에 적용되는 설정이 포함되어 있습니다. 이 파일은 %runtime install path%\Config 디렉터리에 있습니다. Machine.config는 컴퓨터 전반의 어셈블리 바인딩, 내장 원격 채널 및 ASP.NET을 포함합니다.

구성 시스템은 먼저 컴퓨터 구성 파일에서 appSettings 요소를 찾아본 후 개발자가 정의한 다른 구성 섹션에서 찾아봅니다. 그런 다음 응용 프로그램 구성 파일에서 찾아봅니다. 컴퓨터 구성 파일을 지속적으로 관리하려면 이러한 설정을 응용 프로그램 구성 파일에 넣는 것이 가장 좋습니다. 그러나 컴퓨터 구성 파일에 설정을 넣으면 시스템을 유지 관리하기가 더 쉬울 수 있습니다. 예를 들어, 클라이언트 및 서버 응용 프로그램이 모두 사용하는 타사 제품의 구성 요소를 가지고 있을 경우에는 이 구성 요소의 설정을 한 곳에 두는 것이 더 용이합니다. 이 때 설정을 넣을 적합한 위치는 컴퓨터 구성 파일이며, 이럴 경우 동일한 설정을 서로 다른 두 파일에 둘 필요가 없습니다.

참고참고

XCOPY를 사용하여 응용 프로그램을 배포하면 컴퓨터 구성 파일의 설정이 복사되지 않습니다.

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

응용 프로그램 구성 파일

응용 프로그램 구성 파일은 특정 응용 프로그램의 설정을 포함합니다. 이 파일에는 응용 프로그램에서 읽을 수 있는 설정과 어셈블리 바인딩 정책, 원격 개체 등과 같은 공용 언어 런타임에 읽을 구성 설정이 포함되어 있습니다.

응용 프로그램 구성 파일의 이름과 위치는 응용 프로그램의 호스트에 따라 달라지는데 호스트는 다음 중 하나가 될 수 있습니다.

  • 실행 파일에서 호스팅되는 응용 프로그램

    실행 파일에 의해 호스팅되는 응용 프로그램의 구성 파일은 응용 프로그램과 같은 디렉터리에 위치합니다. 구성 파일의 이름은 응용 프로그램의 이름과 같으며 .config 확장명을 갖습니다. 예를 들어, myApp.exe라는 응용 프로그램은 myApp.exe.config라는 구성 파일에 연결될 수 있습니다.

    참고참고

    Visual Studio 프로젝트에서는 .config 파일을 프로젝트 디렉터리에 저장하고 해당 출력 디렉터리로 복사 속성을 항상 복사변경된 내용만 복사로 설정합니다.그러면 어셈블리를 컴파일하는 디렉터리에 해당 파일이 자동으로 복사됩니다.

  • ASP.NET에서 호스팅되는 응용 프로그램

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

  • Internet Explorer에서 호스팅되는 응용 프로그램

    Internet Explorer에서 호스팅되는 응용 프로그램에 구성 파일이 있는 경우 이 파일의 위치는 다음 구문을 사용하여 <link> 태그에 지정됩니다.

    <link rel="ConfigurationFileName" href="location">

    이 태그에서 location은 구성 파일의 URL 로서, 응용 프로그램 기본 디렉터리를 설정합니다. 구성 파일은 응용 프로그램의 웹 사이트와 같은 곳에 위치해야 합니다.

보안 구성 파일

보안 구성 파일에는 코드 그룹 계층 구조 및 정책 수준과 관련된 사용 권한 집합에 대한 정보가 포함되어 있습니다. 정책 변경에 의해 보안 구성 파일이 손상되지 않도록 .NET Framework 구성 도구(Mscorcfg.msc) 또는 코드 액세스 보안 정책 도구(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

참고 항목

참조

Mscorcfg.msc(.NET Framework 구성 도구)

Caspol.exe(코드 액세스 보안 정책 도구)

개념

어셈블리 위치 지정

어셈블리 버전 리디렉션

공용 언어 런타임의 어셈블리

기타 리소스

.NET Framework의 구성 파일 스키마

ASP.NET 구성 설정

보안 정책 관리

Remote Objects

변경 기록

날짜

변경 내용

이유

2011년 3월

보안 구성 파일에 대한 정보가 업데이트되었습니다.

콘텐츠 버그 수정