다음을 통해 공유


VSIX 패키지 분석

VSIX 패키지는 Visual Studio에서 확장을 분류하고 설치하는 데 사용하는 메타데이터와 함께 하나 이상의 Visual Studio 확장이 포함된 .vsix 파일입니다. 해당 메타데이터는 VSIX 매니페스트 및 [Content_Types].xml 파일에 포함되어 있습니다. 또한 VSIX 패키지에는 지역화된 설치 텍스트를 제공하기 위해 하나 이상의 Extension.vsixlangpack 파일이 포함될 수 있으며 종속성을 설치하기 위한 추가 VSIX 패키지가 포함될 수 있습니다.

VSIX 패키지 형식은 OPC(Open Packaging Conventions) 표준을 따릅니다. 패키지에는 [Content_Types].xml 파일 및 .vsix 매니페스트 파일과 함께 이진 파일 및 지원 파일이 포함되어 있습니다. 하나의 VSIX 패키지에는 여러 프로젝트의 출력 또는 자체 매니페스트가 있는 여러 패키지의 출력도 포함될 수 있습니다.

참고 항목

VSIX 패키지에 포함된 파일 이름은 [RFC2396]에 정의된 대로 URI(Uniform Resource Identifiers)에서 예약된 문자 및 공백을 포함할 수 없습니다.

VSIX 매니페스트

VSIX 매니페스트는 설치할 확장에 대한 정보를 포함하고 VSIX 스키마를 따릅니다. 자세한 내용은 VSIX 확장 스키마 2.0 참조를 참조하세요.

VSIX 매니페스트는 extension.vsixmanifest로 이름이 지정되어야 합니다(.vsix 파일에 포함될 때).

콘텐츠

VSIX 패키지에는 템플릿, 도구 상자 항목, VSPackage 또는 Visual Studio에서 지원하는 다른 모든 종류의 확장이 포함될 수 있습니다.

언어 팩

설치하는 동안 지역화된 텍스트를 제공하기 위해 VSIX 패키지에 하나 이상의 Extension.vsixlangpack 파일을 포함할 수 있습니다. 자세한 내용은 VSIX 패키지 지역화를 참조하세요.

종속성 및 참조

VSIX 패키지는 다른 VSIX 패키지를 참조로 포함할 수 있습니다. 이러한 다른 패키지에는 각각 자체 VSIX 매니페스트가 포함되어야 합니다.

사용자가 종속성이 있는 확장을 설치하려고 하면 설치 관리자는 사용자 시스템에 필요한 어셈블리가 설치되어 있는지 확인합니다. 필요한 어셈블리를 찾을 수 없는 경우 확장 및 업데이트는 누락된 어셈블리 목록을 표시합니다.

확장 매니페스트에 하나 이상의 종속성 요소가 포함된 경우 확장 및 업데이트는 각 참조의 매니페스트를 시스템에 설치된 확장과 비교하고 참조된 확장이 아직 설치되지 않은 경우 설치합니다. 참조된 확장의 이전 버전이 설치된 경우 최신 버전으로 대체됩니다.

다중 프로젝트 솔루션의 프로젝트에 동일한 솔루션의 다른 프로젝트에 대한 참조가 포함되어 있으면 VSIX 패키지에는 해당 프로젝트의 종속성이 포함됩니다. 내부 프로젝트에 대한 참조를 선택한 다음 속성 창에서 VSIX에 포함된 출력 그룹 속성을 BuiltProjectOutputGroup으로 설정하여 이 동작을 재정의할 수 있습니다.

참조된 어셈블리의 위성 DLL을 VSIX 패키지에 포함하려면 SatelliteDllsProjectOutputGroupVSIX에 포함된 출력 그룹 속성에 추가합니다.

설치 위치

설치하는 동안 확장 및 업데이트%LocalAppData%\Microsoft\VisualStudio\{version}\Extensions 아래 폴더에서 VSIX 패키지의 내용을 찾습니다.

%LocalAppData%는 사용자별 디렉터리이므로 기본적으로 설치는 현재 사용자에게만 적용됩니다. 그러나 매니페스트의 AllUsers 요소를 True로 설정하면 확장이 ..\{VisualStudioInstallationFolder}\Common7\IDE\Extensions 아래에 설치되고 컴퓨터의 모든 사용자가 사용할 수 있습니다.

[Content_Types].xml

[Content_Types].xml 파일은 확장된 .vsix 파일의 파일 유형을 식별합니다. Visual Studio는 패키지를 설치하는 동안 이 파일을 사용하지만 파일 자체를 설치하지는 않습니다. 이 파일에 대한 자세한 내용은 [Content_types].xml 파일의 구조체를 참조하세요.

OPC(Open Packaging Conventions) 표준에는 [Content_Types].xml 파일이 필요합니다. OPC에 대한 자세한 내용은 OPC: 데이터 패키징을 위한 새로운 표준을 참조하세요.