빌드 구성 이해Understand build configurations

다른 설정으로 프로젝트를 빌드해야 하는 경우 빌드 구성이 필요합니다.You need build configurations when you need to build your projects with different settings. 디버그릴리스 구성이 그 예시이며 이에 따라 빌드 시 다른 컴파일러 옵션이 사용됩니다.For example, Debug and Release are configurations and different compiler options are used accordingly when building them. 활성 상태인 구성 하나가 IDE 상단의 명령 모음에 표시됩니다.One configuration is active and is indicated in the command bar at the top of the IDE.

활성 구성

참고

이 토픽은 Windows용 Visual Studio에만 적용됩니다.This topic applies to Visual Studio on Windows. Mac용 Visual Studio는 Mac용 Visual Studio에서 구성 빌드를 참조하세요.For Visual Studio for Mac, see Build configurations in Visual Studio for Mac.

빌드된 출력 파일이 저장되는 구성 및 플랫폼 컨트롤입니다.The configuration and the platform control where built output files are stored. 일반적으로 Visual Studio가 프로젝트를 빌드하면 출력 위치는 활성 구성으로 이름이 지정된 프로젝트 하위 폴더지만(예: bin/Debug/x86) 이는 변경할 수 있습니다.Normally, when Visual Studio builds your project, the output is placed in a project subfolder named with the active configuration (for example, bin/Debug/x86), but you can change that.

솔루션 및 프로젝트 수준에서 고유한 빌드 구성을 만들 수 있습니다.You can create your own build configurations at the solution and project level. 솔루션 구성은 이 구성이 활성화 상태일 때 빌드에 포함할 프로젝트를 결정합니다.The solution configuration determines which projects are included in the build when that configuration is active. 활성 솔루션 구성에 지정된 프로젝트만 빌드됩니다.Only the projects that are specified in the active solution configuration will be built. 구성 관리자에서 여러 대상 플랫폼을 선택하면 해당 플랫폼에 적용되는 모든 프로젝트가 빌드됩니다.If multiple target platforms are selected in Configuration Manager, all projects that apply to that platform are built. 프로젝트 구성은 프로젝트를 빌드할 때 사용할 빌드 설정과 컴파일러 옵션을 결정합니다.The project configuration determines what build settings and compiler options are used when you build the project.

구성을 만들거나, 선택하거나, 수정하거나, 삭제하려면 구성 관리자 를 사용합니다.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 search box. 표준 도구 모음에서 솔루션 구성 목록을 사용하여 구성을 선택하거나 구성 관리자 를 열 수도 있습니다.You can also use the Solution Configurations list on the Standard toolbar to select a configuration or open the Configuration Manager.

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 Understand 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 build settings and compiler options to use when it's built. 프로젝트에서는 각 구성 및 플랫폼 조합에 대해 서로 다른 설정을 지정할 수 있습니다.A project can have different settings for each combination of configuration and platform. 프로젝트 속성을 수정하려면 솔루션 탐색기 에서 프로젝트의 바로 가기 메뉴를 열고 속성 을 선택합니다.To modify the properties of a project, open the shortcut menu for the project in Solution Explorer, and then choose Properties. 프로젝트 디자이너의 빌드 탭 상단에서 활성 구성을 선택해 빌드 설정을 수정합니다.At the top of the Build tab of the project designer, choose an active configuration to edit its build settings.

프로젝트 디자이너 구성

여러 구성 빌드Building multiple configurations

빌드 > 솔루션 빌드 명령을 사용하여 솔루션을 빌드하면 Visual Studio는 활성 구성만 빌드합니다.When you build a solution using the Build > Build Solution command, Visual Studio only builds the active configuration. 해당 솔루션 구성에 지정된 모든 프로젝트가 빌드되고, 빌드된 프로젝트 구성만 활성 솔루션 구성 및 활성 솔루션 플랫폼에 지정된 구성으로, Visual Studio의 도구 모음에 표시됩니다.All projects that are specified in that solution configuration are built, and the only project configuration that's built is that one specified in the active solution configuration and active solution platform, which is shown in the toolbar in Visual Studio. 예를 들어 Debugx86 이 표시됩니다.For example, Debug and x86. 정의된 다른 구성과 플랫폼은 빌드되지 않습니다.Other defined configurations and platforms are not built.

하나의 작업에서 여러 구성 및 플랫폼을 빌드하려는 경우 Visual Studio에서 빌드 > 일괄 빌드 옵션을 사용할 수 있습니다.If you want to build multiple configurations and platforms in one action, you can use the Build > Batch Build option in Visual Studio. 이 기능에 액세스하려면 Ctrl+Q 를 눌러 검색 상자를 열고 Batch build를 입력합니다.To access this feature, press Ctrl+Q to open the search box, and enter Batch build. 일부 프로젝트 형식에는 일괄 빌드를 사용할 수 없습니다.Batch build is not available for all project types. 방법: 여러 구성 동시 빌드를 참조하세요.See How to: Build multiple configurations simultaneously.

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. 프로젝트에 새 솔루션 구성의 이름과 정확히 일치하는 구성 이름( <configuration name> <platform name> )이 지정되어 있으면 해당 구성이 할당됩니다.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. 이 솔루션 구성의 기본 이름은 플랫폼 이름을 포함하지 않으며 <project configuration name> 형식을 사용합니다.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. 각 솔루션 구성의 이름은 프로젝트 구성 이름과 플랫폼 이름을 모두 포함하며 <project configuration name> <platform name> 형식을 사용합니다.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