솔루션 개요
솔루션은 애플리케이션을 만들기 위해 함께 작동하는 하나 이상의 프로젝트 그룹화입니다. 솔루션과 관련된 프로젝트 및 상태 정보는 서로 다른 두 솔루션 파일에 저장됩니다. 솔루션(.sln) 파일은 텍스트 기반이며 소스 코드 제어를 통해 배치되고 사용자 간에 공유될 수 있습니다. 솔루션 사용자 옵션(.suo) 파일은 이진 파일입니다. 따라서 .suo 파일은 소스 코드 제어를 통해 배치할 수 없으며 사용자별 정보를 포함합니다.
VSPackage는 두 유형의 솔루션 파일에 쓸 수 있습니다. 파일의 특성으로 인해 파일에 쓰기 위해 구현된 두 가지 다른 인터페이스가 있습니다. IVsPersistSolutionProps 인터페이스는 .sln 파일에 텍스트 정보를 쓰고 IVsPersistSolutionOpts 인터페이스는 .suo 파일에 이진 스트림을 씁니다.
참고 항목
프로젝트는 솔루션 파일에 자체 항목을 명시적으로 쓸 필요가 없습니다. 환경이 프로젝트에 대해 처리합니다. 따라서 특히 솔루션 파일에 콘텐츠를 추가하려는 경우가 아니면 이러한 방식으로 VSPackage를 등록할 필요가 없습니다.
솔루션 지속성을 지원하는 각 VSPackage는 환경에서 구현되고 VSPackage에서 호출되는 IVsSolutionPersistence 인터페이스, VSPackage에서 구현되는 IVsPersistSolutionProps
인터페이스 및 IVsPersistSolutionOpts
인터페이스의 세 가지 인터페이스를 사용합니다. IVsPersistSolutionOpts
인터페이스는 VSPackage가 .suo 파일에 개인 정보를 쓰는 경우에만 구현하면 됩니다.
솔루션을 열면 다음 프로세스가 수행됩니다.
환경에서 솔루션을 읽습니다.
환경이
CLSID
를 검색하면 해당 VSPackage를 로드합니다.VSPackage가 로드되면 환경은 VSPackage에 필요한 인터페이스의 IVsPackage 인터페이스에 대해
QueryInterface
를 호출합니다..sln 파일에서 읽을 때 환경은
IVsPersistSolutionProps
의QueryInterface
를 호출합니다..suo 파일에서 읽을 때 환경은
IVsPersistSolutionOpts
의QueryInterface
를 호출합니다.
이러한 파일의 사용과 관련된 특정 정보는 솔루션(.sln) 파일 및 솔루션 사용자 옵션(.suo) 파일에서 찾을 수 있습니다.
참고 항목
두 프로젝트의 구성으로 이루어지고 빌드에서 3분의 1을 제외한 새 솔루션 구성을 만들려면 속성 페이지 UI 또는 자동화를 사용해야 합니다. 솔루션 빌드 관리자 구성 및 해당 속성을 직접 변경할 수는 없지만 자동화 모델에서 DTE의 SolutionBuild
클래스를 사용하여 솔루션 빌드 관리자를 조작할 수 있습니다. 솔루션 구성에 대한 자세한 내용은 솔루션 구성을 참조하세요.