빌드를 위한 프로젝트 구성
지정된 솔루션의 솔루션 구성 목록은 솔루션 구성 대화 상자에서 관리됩니다.
사용자는 각각 고유한 이름을 가진 추가 솔루션 구성을 만들 수 있습니다. 사용자가 새 솔루션 구성을 만들 때 IDE는 프로젝트의 해당 구성 이름으로 기본 설정되고 해당 이름이 없으면 디버그로 설정됩니다. 사용자는 필요할 때 특정 요구 사항을 충족하도록 선택을 변경할 수 있습니다. 이 동작의 유일한 예외는 프로젝트가 새 솔루션 구성의 이름과 일치하는 구성을 지원하는 경우입니다. 예를 들어, 솔루션에 Project1 및 Project2가 포함되어 있다고 가정합니다. Project1에는 프로젝트 구성 Debug, Retail, MyConfig1이 있습니다. Project2에는 프로젝트 구성 Debug, Retail, MyConfig2가 있습니다.
사용자가 MyConfig2라는 새 솔루션 구성을 만드는 경우 Project1은 기본적으로 디버그 구성을 솔루션 구성에 바인딩합니다. 또한 Project2는 기본적으로 MyConfig2 구성을 솔루션 구성에 바인딩합니다.
참고 항목
바인딩은 대/소문자를 구분하지 않습니다.
사용자가 구성 드롭다운 목록에서 다중 선택 항목을 선택하면 사용 가능한 구성 목록을 제공하는 대화 상자가 환경에 표시됩니다.
여러 구성
이 대화 상자에서 사용자는 하나 이상의 구성을 선택할 수 있습니다. 이 옵션을 선택하면 속성 페이지 대화 상자에 표시되는 속성 값은 선택한 구성에 대한 값의 교차점을 반영합니다.
솔루션 및 프로젝트의 구성 추가 및 이름 바꾸기와 관련된 정보는 솔루션 구성을 참조하세요.
프로젝트 종속성 및 빌드 순서는 솔루션 구성과 무관합입니다. 즉, 솔루션의 모든 프로젝트에 대해 하나의 종속성 트리만 설정할 수 있습니다. 솔루션 또는 프로젝트를 마우스 오른쪽 단추로 클릭하고 프로젝트 종속성 또는 프로젝트 빌드 순서 옵션을 선택하면 프로젝트 종속성 대화 상자가 열립니다. 또한 프로젝트 메뉴에서도 열 수 있습니다.
프로젝트 종속성
프로젝트 종속성은 프로젝트 빌드 순서를 결정합니다. 대화 상자의 빌드 순서 탭을 사용하여 솔루션 내의 프로젝트가 빌드되는 정확한 순서를 확인하고 종속성 탭을 사용하여 빌드 순서를 수정할 수 있습니다.
참고 항목
확인란이 선택되었지만 흐리게 표시되는 목록의 프로젝트는 IVsBuildDependency 또는 IVsDeployDependency 인터페이스에서 지정한 명시적 종속성으로 인해 환경에 추가되었으며 변경할 수 없습니다. 예를 들어 Visual Basic 프로젝트의 프로젝트 참조를 다른 프로젝트에 추가하면 참조를 삭제해야만 제거할 수 있는 빌드 종속성이 자동으로 추가됩니다. 확인란이 선택 취소되고 흐리게 표시되는 프로젝트는 종속성 루프가 만들어지고(예: Project1은 Project2에 종속되고 Project2는 Project1에 종속됨) 빌드가 중단되므로 선택할 수 없습니다.
Visual Studio 빌드 프로세스에는 단일 Build 명령으로 호출되는 일반적인 컴파일 및 연결 작업이 포함됩니다. 이전 빌드에서 모든 출력 항목을 삭제하는 정리 작업과 구성의 출력 항목이 변경되었는지 확인하는 최신 검사의 두 가지 다른 빌드 프로세스도 지원할 수 있습니다.
- IVsProjectCfg2 개체는 해당 빌드 프로세스를 관리하기 위해 해당 IVsBuildableProjectCfg(get_CfgType에서 반환)를 반환합니다. 빌드 작업이 발생하는 동안 빌드 작업의 상태를 보고하기 위해 구성은 환경 및 빌드 상태 이벤트에 관심이 있는 다른 개체에 의해 구현된 인터페이스인 IVsBuildStatusCallback을 호출합니다.
구성 설정을 빌드한 후에는 디버거의 제어 하에 실행할 수 있는지 여부를 확인하는 데 사용할 수 있습니다. 구성은 디버깅을 지원하기 위한 IVsDebuggableProjectCfg를 구현합니다.
프로젝트 종속성을 구현한 후에는 자동화 모델을 통해 종속성을 프로그래밍 방식으로 조작할 수 있습니다. 자동화 모델에서 BuildDependencies를 호출합니다. 솔루션 빌드 관리자 구성 및 해당 속성을 직접 조작할 수 있는 사용 가능한 VSIP API 수준 인터페이스가 없습니다.
또한 프로젝트 종속성 창에 그리드를 제공할 수 있습니다. 자세한 내용은 속성 표시 그리드를 참조하세요.