다음을 통해 공유


솔루션 개요

솔루션은 애플리케이션을 만들기 위해 함께 작동하는 하나 이상의 프로젝트 그룹화입니다. 솔루션과 관련된 프로젝트 및 상태 정보는 서로 다른 두 솔루션 파일에 저장됩니다. 솔루션(.sln) 파일은 텍스트 기반이며 소스 코드 제어 아래에 배치하고 사용자 간에 공유할 수 있습니다. 솔루션 사용자 옵션(.suo) 파일은 이진 파일입니다. 따라서 .suo 파일은 소스 코드 제어 아래에 배치할 수 없으며 사용자별 정보를 포함합니다.

모든 VSPackage는 두 유형의 솔루션 파일에 쓸 수 있습니다. 파일의 특성상 두 가지 인터페이스가 구현되어 쓰기가 가능합니다. 인터페이스는 IVsPersistSolutionProps .sln 파일에 텍스트 정보를 쓰고 인터페이스는 IVsPersistSolutionOpts .suo 파일에 이진 스트림을 씁니다.

비고

프로젝트는 솔루션 파일에 대한 항목을 명시적으로 작성할 필요가 없습니다. 환경이 프로젝트에 대해 처리합니다. 따라서 솔루션 파일에 특별히 콘텐츠를 추가하려는 경우가 아니면 이러한 방식으로 VSPackage를 등록할 필요가 없습니다.

각 VSPackage 지원 솔루션의 지속성은 세 가지 인터페이스를 사용합니다. IVsSolutionPersistence 인터페이스는 환경에 의해 구현되어 VSPackage가 호출하며, IVsPersistSolutionPropsIVsPersistSolutionOpts는 모두 VSPackage에서 구현됩니다. IVsPersistSolutionOpts VSPackage에서 .suo 파일에 개인 정보를 기록해야 하는 경우에만 인터페이스를 구현해야 합니다.

솔루션을 열면 다음 프로세스가 수행됩니다.

  1. 환경에서 솔루션을 읽습니다.

  2. 환경이 CLSID을 찾아내면, 해당 VSPackage를 로드합니다.

  3. VSPackage가 로드되면 환경이 VSPackage가 필요로 하는 인터페이스의 IVsPackage 인터페이스에 대해 QueryInterface을 호출합니다.

    • .sln 파일에서 읽을 때 환경에서는 QueryInterface를 호출하여 IVsPersistSolutionProps를 수행합니다.

    • .suo 파일에서 읽을 때 환경에서는 QueryInterface를 호출하여 IVsPersistSolutionOpts를 실행합니다.

    이러한 파일의 사용과 관련된 특정 정보는 솔루션(.sln) 파일솔루션 사용자 옵션(.suo) 파일에서 찾을 수 있습니다.

비고

새 솔루션 구성을 두 프로젝트의 구성으로 설정하고 세 번째 프로젝트를 빌드에서 제외하려면 속성 페이지 UI 또는 자동화를 사용해야 합니다. 솔루션 빌드 관리자 구성 및 해당 속성을 직접 변경할 수는 없지만 자동화 모델의 DTE에서 클래스를 사용하여 SolutionBuild 솔루션 빌드 관리자를 조작할 수 있습니다. 솔루션 구성에 대한 자세한 내용은 솔루션 구성을 참조하세요.