다음을 통해 공유


솔루션 개요

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

VSPackage는 두 유형의 솔루션 파일에 쓸 수 있습니다. 파일의 특성으로 인해 파일에 쓰기 위해 구현된 두 가지 다른 인터페이스가 있습니다. IVsPersistSolutionProps 인터페이스는 .sln 파일에 텍스트 정보를 쓰고 IVsPersistSolutionOpts 인터페이스는 .suo 파일에 이진 스트림을 씁니다.

참고 항목

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

솔루션 지속성을 지원하는 각 VSPackage는 환경에서 구현되고 VSPackage에서 호출되는 IVsSolutionPersistence 인터페이스, VSPackage에서 구현되는 IVsPersistSolutionProps 인터페이스 및 IVsPersistSolutionOpts 인터페이스의 세 가지 인터페이스를 사용합니다. IVsPersistSolutionOpts 인터페이스는 VSPackage가 .suo 파일에 개인 정보를 쓰는 경우에만 구현하면 됩니다.

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

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

  2. 환경이 CLSID를 검색하면 해당 VSPackage를 로드합니다.

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

    • .sln 파일에서 읽을 때 환경은 IVsPersistSolutionPropsQueryInterface를 호출합니다.

    • .suo 파일에서 읽을 때 환경은 IVsPersistSolutionOptsQueryInterface를 호출합니다.

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

참고 항목

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