빌드 구성 이해Understanding Build Configurations

다양한 종류의 빌드에서 사용할 솔루션 및 프로젝트 속성에 대한 여러 구성을 저장할 수 있습니다.You can store different configurations of solution and project properties to use in different kinds of builds. 구성을 만들거나, 선택하거나, 수정하거나, 삭제하려면 구성 관리자를 사용합니다.To create, select, modify, or delete a configuration, you can use the Configuration Manager. 구성 관리자를 열려면 메뉴 모음에서 빌드, 구성 관리자를 선택하거나 빠른 실행 상자에 구성을 입력합니다.To open it, on the menu bar, choose Build, Configuration Manager, or just type Configuration in the Quick Launch box. 표준 도구 모음에서 솔루션 구성 목록을 사용하여 구성을 선택하거나 구성 관리자를 열 수도 있습니다.You can also use the Solution Configurations list on the Standard toolbar to select a configuration or open the Configuration Manager.

참고

도구 모음에서 솔루션 구성 설정을 찾을 수 없고 구성 관리자에 액세스할 수 없으면 Visual BasicVisual Basic 개발 설정을 적용할 수 있습니다.If you can't find solution configuration settings on the toolbar and can't access the Configuration Manager, Visual BasicVisual Basic development settings may be applied. 자세한 내용은 방법: Visual Basic 개발자 설정을 적용하여 구성 관리를 참조하세요.For more information, see How to: Manage Configurations with Visual Basic Developer Settings Applied.

기본적으로 디버그 및 릴리스 구성은 Visual StudioVisual Studio 템플릿을 사용하여 만든 프로젝트에 포함됩니다.By default, Debug and Release configurations are included in projects that are created by using Visual StudioVisual Studio templates. 디버그 구성은 앱의 디버깅을 지원하고 릴리스 구성은 배포할 수 있는 앱 버전을 빌드합니다.A Debug configuration supports the debugging of an app, and a Release configuration builds a version of the app that can be deployed. 자세한 내용은 방법: 디버그 및 릴리스 구성 설정을 참조하세요.For more information, see How to: Set Debug and Release Configurations. 사용자 지정 솔루션 구성 및 프로젝트 구성을 만들 수도 있습니다.You can also create custom solution configurations and project configurations. 자세한 내용은 방법: 구성 만들기 및 편집을 참조하세요.For more information, see How to: Create and Edit Configurations.

솔루션 구성Solution Configurations

솔루션 구성은 솔루션에 있는 프로젝트를 빌드하고 배포하는 데 사용할 방법을 지정합니다.A solution configuration specifies how projects in the solution are to be built and deployed. 솔루션 구성을 수정하거나 새 구성을 정의하려면 구성 관리자활성 솔루션 구성에서 편집 또는 새로 만들기를 선택합니다.To modify a solution configuration or define a new one, in the Configuration Manager, under Active solution configuration, choose Edit or New.

솔루션 구성에서 프로젝트 컨텍스트 상자의 각 항목은 솔루션에 있는 프로젝트를 나타냅니다.Each entry in the Project contexts box in a solution configuration represents a project in the solution. 활성 솔루션 구성활성 솔루션 플랫폼의 모든 조합에 대해 각 프로젝트가 사용되는 방법을 설정할 수 있습니다.For every combination of Active solution configuration and Active solution platform, you can set how each project is used. (솔루션 플랫폼에 대한 자세한 내용은 빌드 플랫폼 이해를 참조하세요.)(For more information about solution platforms, see Understanding Build Platforms.)

참고

새 솔루션 구성을 정의하고 새 프로젝트 구성 만들기 확인란을 선택하면 Visual StudioVisual Studio에서 모든 프로젝트에 새 구성이 자동으로 할당됩니다.When you define a new solution configuration and select the Create new project configurations check box, Visual StudioVisual Studio automatically assigns the new configuration to all of the projects. 마찬가지로, 새 솔루션 플랫폼을 정의하고 새 프로젝트 플랫폼 만들기 확인란을 선택하면 Visual StudioVisual Studio 에서 모든 프로젝트에 새 플랫폼이 자동으로 할당됩니다.Likewise, when you define a new solution platform and select the Create new project platforms check box, Visual StudioVisual Studio automatically assigns the new platform to all of the projects. 또한 새 플랫폼을 대상으로 하는 프로젝트를 추가하면 Visual Studio에서 해당 플랫폼이 솔루션 플랫폼 목록에 추가되고 모든 프로젝트에 할당됩니다.Also, if you add a project that targets a new platform, Visual Studio adds that platform to the list of solution platforms and assigns it to all of the projects.

각 프로젝트에 대한 설정은 여전히 수정할 수 있습니다.You can still modify the settings for each project.

활성 솔루션 구성도 IDE에 컨텍스트를 제공합니다.The active solution configuration also provides context to the IDE. 예를 들어 프로젝트 작업을 진행 중인데 이 프로젝트가 모바일 장치용으로 빌드될 것이라고 구성에 지정되어 있으면, 모바일 장치 프로젝트에 사용할 수 있는 항목만 도구 상자에 표시됩니다.For example, if you're working on a project and the configuration specifies that it will be built for a mobile device, the Toolbox displays only items that can be used in a mobile device project.

프로젝트 구성Project Configurations

빌드 시 사용할 속성을 지정할 때는 구성과 프로젝트가 대상으로 하는 플랫폼이 함께 사용됩니다.The configuration and platform that a project targets are used together to specify the properties to use when it's built. 프로젝트에서는 각 구성 및 플랫폼 조합에 대해 서로 다른 속성 정의 집합을 지정할 수 있습니다.A project can have a different set of property definitions for each combination of configuration and platform. 프로젝트의 속성을 수정하려면 해당 속성 페이지를 사용합니다.To modify the properties of a project, you can use its Property Pages. (솔루션 탐색기에서 프로젝트의 바로 가기 메뉴를 열고 속성을 선택합니다.)(In Solution Explorer, open the shortcut menu for the project and then choose Properties.)

각 프로젝트 구성에 대해 필요에 따라 구성에 종속된 속성을 정의할 수 있습니다.For each project configuration, you can define configuration-dependent properties as needed. 예를 들어 특정 빌드에 대해 포함할 프로젝트 항목, 만들 출력 파일, 출력 파일을 넣을 위치 및 출력 파일이 최적화되는 방법을 설정할 수 있습니다.For example, for a particular build, you can set which project items will be included, and what output files will be created, where they will be put, and how they will be optimized.

프로젝트 구성이 크게 다를 수 있습니다.Project configurations can differ considerably. 예를 들어 한 구성의 속성에 해당 출력 파일이 최소한의 공간만 차지하도록 최적화되어야 함이 지정되어 있지만 다른 구성에는 해당 실행 파일이 최대 속도로 실행되도록 지정되어 있을 수 있습니다.For example, the properties of one configuration might specify that its output file be optimized to occupy the minimum space, while another configuration might specify that its executable runs at the maximum speed.

프로젝트 구성은 팀에서 공유할 수 있도록 사용자별이 아니라 솔루션별로 저장됩니다.Project configurations are stored by solution—not by user—so that they can be shared by a team.

프로젝트 종속성이 구성과 무관하더라도 활성 솔루션 구성에 지정된 프로젝트만 빌드됩니다.Although project dependencies are configuration-independent, only the projects that are specified in the active solution configuration will be built.

Visual Studio가 프로젝트 구성을 할당하는 방법How Visual Studio Assigns Project Configurations

새 솔루션 구성을 정의하고 기존 구성에서 설정을 복사하지 않으면 Visual Studio가 다음 기준을 사용하여 기본 프로젝트 구성을 할당합니다.When you define a new solution configuration and don't copy settings from an existing one, Visual Studio uses the following criteria to assign default project configurations. 기준은 표시된 순서대로 평가됩니다.The criteria are evaluated in the order shown.

  1. 프로젝트에 새 솔루션 구성의 이름과 정확히 일치하는 구성 이름(<구성 이름> <플랫폼 이름>)이 있으면 해당 구성이 할당됩니다.If a project has a configuration name (<configuration name> <platform name>) that exactly matches the name of the new solution configuration, that configuration is assigned. 구성 이름은 대/소문자를 구분하지 않습니다.Configuration names are not case-sensitive.

  2. 프로젝트에 구성 이름 부분이 새 솔루션 구성과 일치하는 구성 이름이 지정되어 있으면 플랫폼 부분이 일치하는지 여부와 관계없이 해당 구성이 할당됩니다.If the project has a configuration name in which the configuration-name part matches the new solution configuration, that configuration is assigned, whether the platform portion matches or not.

  3. 일치하는 부분이 없으면 프로젝트에 나열된 첫 번째 구성이 할당됩니다.If there is still no match, the first configuration that's listed in the project is assigned.

Visual Studio가 솔루션 구성을 할당하는 방법How Visual Studio Assigns Solution Configurations

프로젝트 구성을 만들고(구성 관리자에서 해당 프로젝트의 구성 열에 있는 드롭다운 메뉴의 새로 만들기 선택) 새 솔루션 구성 만들기 확인란을 선택하면 Visual Studio가 각 지원 플랫폼에서 프로젝트를 빌드하기 위해 이름이 같은 솔루션 구성을 찾습니다.When you create a project configuration (in the Configuration Manager, by choosing New on the drop-down menu in the Configuration column for that project) and select the Create new solution configurations check box, Visual Studio looks for a like-named solution configuration to build the project on each platform it supports. 경우에 따라 Visual Studio는 기존 솔루션 구성의 이름을 바꾸거나 새 구성을 정의합니다.In some cases, Visual Studio renames existing solution configurations or defines new ones.

Visual Studio는 다음 기준을 사용하여 솔루션 구성을 할당합니다.Visual Studio uses the following criteria to assign solution configurations.

  • 프로젝트 구성이 플랫폼을 지정하지 않거나 하나의 플랫폼만 지정하는 경우 새 프로젝트 구성과 이름이 일치하는 솔루션 구성이 검색되거나 추가됩니다.If a project configuration doesn't specify a platform or specifies just one platform, then a solution configuration whose name matches that of the new project configuration is either found or added. 이 솔루션 구성의 기본 이름은 플랫폼 이름을 포함하지 않으며 <<프로젝트 구성 이름> 양식을 사용합니다.The default name of this solution configuration does not include a platform name; it takes the form <project configuration name>.

  • 프로젝트가 여러 플랫폼을 지원하는 경우 지원되는 각 플랫폼에 대해 솔루션 구성이 검색되거나 추가됩니다.If a project supports multiple platforms, a solution configuration is either found or added for each supported platform. 각 솔루션 구성의 이름은 프로젝트 구성 이름과 플랫폼 이름을 모두 포함하며 <프로젝트 구성 이름> <플랫폼 이름> 양식입니다.The name of each solution configuration includes both the project configuration name and the platform name, and has the form <project configuration name> <platform name>.

참고 항목See Also

연습: 응용 프로그램 빌드 Walkthrough: Building an Application
컴파일 및 빌드 Compiling and Building
솔루션 및 프로젝트 Solutions and Projects
C/C++ 빌드 참조 C/C++ Building Reference
Devenv 명령줄 스위치Devenv Command Line Switches