VSIX 확장 스키마 2.0 참조
VSIX 배포 매니페스트 파일 VSIX 패키지의 내용을 설명합니다. 파일 형식 스키마에 따라 달라 집니다. 버전 2.0의이 스키마를이 사용자 정의 형식 및 특성을 추가 지원 합니다. 매니페스트의 스키마를 확장할 수 있습니다. 매니페스트 로더 XML 요소와 이해 하지 못하는 특성을 무시 합니다.
중요
Visual Studio 20122010 및 2011 형식에서 설명한 Vsixs을 로드 합니다.
패키지 매니페스트 스키마
매니페스트 XML 파일의 루트 요소는 <PackageManifest>, 하나의 특성을 가진 Version, 매니페스트 형식 버전입니다. 버전 형식 형식으로 주요 변경한 경우 변경 됩니다. 이 항목을 설정 하 여 매니페스트를 지정 된 매니페스트 형식 버전 2.0을 설명는 Version 특성의 값을 버전 = "2.0".
PackageManifest 요소
내는 <PackageManifest> 루트 요소는 다음 요소를 사용할 수 있습니다:
<Metadata>-메타 데이터와 패키지 자체에 대 한 정보를 광고 합니다. 하나의 Metadata 요소 매니페스트에서 사용할 수 있습니다.
<Installation>-이 절이 확장 패키지를에 설치할 수 있는 응용 프로그램 Sku를 비롯 하 여 설치할 수 있습니다 하는 방법을 정의 합니다. 단일 Installation 요소 매니페스트에서 사용할 수 있습니다. 매니페스트가 있어야 합니다는 Installation , 요소 또는이 패키지를 모든 SKU에 설치 되지 않습니다.
<Dependencies>-이 패키지에 대 한 종속성 목록이 여기 정의 됩니다.
<Assets>-이 절이이 패키지 내에 포함 된 자산을 모두 포함 합니다. 이 절 없이이 패키지 콘텐츠가 표면 되지 않습니다.
<AnyElement>*-매니페스트 스키마 신축 기타 요소 수입니다. 매니페스트 로더에 의해 인식할 수 없는 모든 자식 요소 확장 관리자 API에 여분의 XmlElement 개체로 노출 됩니다. 이러한 자식 요소를 사용 하 여 확장 VSIX는 추가 데이터 Visual Studio 실행 되는 코드는 런타임에 액세스할 수 있는 매니페스트 파일에 정의할 수 있습니다. AdditionalElements 및 LocalizedAdditionalElements을 참조하십시오.
메타 데이터 요소
이 섹션에서는 패키지의 id 및 정보 광고에 대 한 메타 데이터입니다. <Metadata>다음과 같은 요소가 들어 있습니다.
<Identity>-이이 패키지에 대 한 식별 정보를 정의 하 고 다음과 같은 특성이 포함 됩니다.
Id–이 특성에 고유 ID를 만든이가 선택한 패키지에 대 한 있어야 합니다. CLR 형식인 namespaced는 한정 되어야 합니다: Company.Product.Feature.Name. Id 특성이 100 자로 제한 됩니다.
Version-이 버전에는이 패키지와 해당 내용을 정의합니다. CLR 어셈블리 버전 형식이이 특성이 다음과 같습니다: Major.Minor.Build.Revision (1.2.40308.00). 패키지와 버전 번호가 업데이트 패키지에 간주 되며 기존 설치 된 버전 위에 설치할 수 있습니다.
Language–이 특성 패키지에 대 한 기본 언어입니다 고이 매니페스트에 텍스트 데이터에 해당 합니다. 이 특성이 리소스 어셈블리에 대 한 예를 들어 CLR 로캘 코드 규칙을 따르는: en-us, en, fr-fr. 지정할 수 있는 neutral Visual Studio 모든 버전에서 실행 되는 언어 중립적 확장명을 선언 합니다. 기본값은 neutral입니다.
Publisher–이 특성 회사 또는 개인 이름이이 패키지의 게시자를 식별 합니다. Publisher 특성이 100 자로 제한 됩니다.
<DisplayName>-이 요소는 확장 관리자 UI에 표시 되는 사용자에 게 친숙 한 패키지 이름을 지정 합니다. DisplayName 콘텐츠 100 자로 제한 됩니다.
<Description>-이 선택적 요소는 확장 관리자 UI에 표시 되는 간단한 설명입니다. 패키지 및 해당 내용입니다. Description 콘텐츠 원하는 있지만 모든 텍스트를 포함할 수 있습니다 1000 자로 제한 됩니다.
<MoreInfo>-이 선택적 요소는이 패키지의 전체 설명을 포함 하는 페이지를 온라인에 대 한 URL입니다. 프로토콜은 http로 지정 되어야 합니다.
<License>-이 선택적 요소는 패키지 (예:.txt,.rtf) 또는 라이센스를 포함 하는 웹 사이트의 URL에 포함 된 라이센스 파일의 상대 경로입니다.
<ReleaseNotes>-이 선택적 요소는 패키지 (예:.txt,.rtf) 하거나 URL 릴리스 노트를 표시 하는 웹 사이트에 포함 된 릴리스 노트 파일의 상대 경로입니다.
<Icon>-이 선택적 요소는 패키지에 포함 된 이미지 파일 (png, bmp, jpeg, ico) 상대 경로입니다. 32 X 32 픽셀 이어야 합니다 (또는 해당 크기로 축소 됩니다) 아이콘 이미지 목록 보기 UI를 표시 하 고 있습니다. 그렇지 않은 경우 Icon 요소를 지정한 경우 기본 UI를 사용 합니다.
<PreviewImage>-이 선택적 요소는 패키지에 포함 된 이미지 파일 (png, bmp, jpeg) 상대 경로입니다. 미리 보기 이미지 200 x 200 픽셀 이므로 UI 정보를 표시 합니다. 그렇지 않은 경우 PreviewImage 요소를 지정한 경우 기본 UI를 사용 합니다.
<Tags>-이 선택적 요소에 대 한 힌트를 검색에 사용 되는 세미콜론으로 구분 된 텍스트 태그를 나열 합니다. Tags 요소는 100 자로 제한 됩니다.
<GettingStartedGuide>-이 선택적 요소는 HTML 파일에 상대 경로 또는 확장명이 나이 패키지 내에서 콘텐츠를 사용 하는 방법에 대 한 정보를 포함 하는 웹 사이트에 있는 URL 중 하나입니다. 이 안내서는 설치의 일부로 실행 됩니다.
<AnyElement>*-매니페스트 스키마 신축 기타 요소 수입니다. 매니페스트 로더가 인식 되지 않는 모든 자식 요소는 XmlElement 개체의 목록으로 노출 됩니다. 이러한 자식 요소를 사용 하 여 매니페스트 파일에 추가 데이터를 정의 하 고 런타임에 열거 VSIX 확장이 있습니다.
설치 요소
이 섹션에 설치할 수 있는 응용 프로그램 Sku이이 패키지를 설치할 수 있는 방법을 정의 합니다. 이 단원에는 다음과 같은 특성이 있습니다.
Scope–이 특성의 값을 "전역" 또는 "ProductExtension"를 사용할 수 있습니다.
"전역" 설치에 대 한 특정 SKU 범위 지정 됩니다 지정 합니다. 예를 들어, 확장 SDK를 설치할 때이 값이 사용 됩니다.
"ProductExtension"는 전통적인 VSIX 개별 Visual Studio Sku에 범위 확장 (버전 1.0)가 설치 되어 있는지를 지정 합니다. 기본값입니다.
AllUsers–이 패키지에 대 한 모든 사용자에 게 설치 여부 선택이 특성을 지정 합니다. 기본적으로이 특성은 패키지 당 사용자 지정 false입니다. (이 값을 true로 설정 하면 설치 하는 사용자 결과 VSIX 설치 하려면 관리 권한 수준을 높여야 합니다.
InstalledByMsi–이 선택적 특성이이 패키지는 MSI가 설치 되어 있는지 여부를 지정 합니다. 설치 하는 MSI 패키지 설치 및 MSI (프로그램 및 기능) 및 않는 하는 Visual Studio 확장 관리자 관리 합니다. 기본적으로이 특성 지정 패키지는 MSI가 설치 되어 있지 않은 false입니다.
SystemComponent–이 패키지는 시스템 구성 요소 고려 됩니다이 선택적 특성을 지정 합니다. 시스템 구성 요소에 확장 관리자 UI 표시 안 함 및 업데이트할 수 없습니다. 기본적으로이 특성은 패키지 시스템 구성 요소가 아님을 지정 false입니다.
AnyAttribute*–가 Installation 요소를 제한 하지 않고 런타임 이름-값 쌍의 사전에 노출 되는 특성 집합을 사용 합니다.
<InstallationTarget>–This 요소 위치 VSIX 설치 관리자 패키지를 설치 하는 위치를 제어 합니다. 경우의 값은 Scope 특성입니다 "ProductExtension" 패키지 매니페스트 파일의 내용 확장 가능 여부를 알릴 수 일부로 설치 된에 대 한 SKU를 대상 합니다. <InstallationTarget> 요소에 다음 특성을 경우는 Scope 특성이 있는 명시적 또는 기본값을 "ProductExtension":
Id– 패키지가이 특성을 식별합니다. 네임 스페이스 규칙 특성은 다음과 같습니다: Company.Product.Feature.Name. Id 특성을 영숫자 문자만 포함할 수 있으며 100 자로 제한 됩니다. 예상 값:
Microsoft.VisualStudio.IntegratedShell
Microsoft.VisualStudio.Pro
Microsoft.VisualStudio.Premium
Microsoft.VisualStudio.Ultimate
Microsoft.VisualStudio.VWDExpress
Microsoft.VisualStudio.VPDExpress
Microsoft.VisualStudio.VSWinExpress
Microsoft.VisualStudio.VSLS
My.Shell.App
Version–이 특성은 최소 및 최대 지원 되는 버전의이 SKU와 버전 범위를 지정합니다. 패키지 버전에서 지 원하는 sku를 세부화 할 수 있습니다. 버전 범위 표기법 [10.0 – 11.0] 위치입니다.
] – 최대 버전을 포함 합니다.
(-제외 최소 버전.
)-단독 최대 버전입니다.
단일 버전 # 지원-최소 바인딩되지 않은 최대 버전입니다.
AnyAttribute*–가 <InstallationTarget> 요소는 개방형 특성 집합을 이름 / 값 쌍 사전으로 런타임 시에 노출 될 수 있습니다.
종속성 요소
이 요소는이 패키지를 선언 하는 종속성 목록이 표시 됩니다. 종속성이 지정 된 경우 해당 패키지 (식별 자신의 Id)이 설치 되어 있어야 합니다.
<Dependency>요소-이 하위 요소는 다음과 같은 특성이 있습니다.
Id–이 특성의 고유 ID입니다 종속 패키지 이어야 합니다. 이 id 값과 일치 해야 합니다는 <Metadata><Identity>Id 이 패키지가 종속 된 패키지의 특성입니다. Id 특성이 네임 스페이스 규칙은 다음과 같습니다: Company.Product.Feature.Name. 특성은 영숫자 문자만 사용할 수 있습니다 다음 100 자로 제한 됩니다.
Version–이 패키지가 종속 된 패키지의 지정 된 버전 범위이 특성을 선언 합니다. 버전 범위 표시법입니다 [1.0 – 2.1).
[-최소 버전을 포함 합니다.
] – 최대 버전을 포함 합니다.
(-제외 최소 버전.
) – 최대 버전을 포함 합니다.
단일 버전 # 지원-최소 바인딩되지 않은 최대 버전입니다.
DisplayName-이 속성 대화 상자 및 오류 메시지와 같은 UI 요소에 사용 되는 종속 패키지의 표시 이름입니다. MSI가 종속 패키지가 설치 되지 않은 경우 특성은 선택 사항입니다.
Location–이 선택적 특성이이 VSIX 중첩 VSIX 패키지 내에서 상대 경로 또는 URL의 종속성에 대 한 다운로드 위치를 지정합니다. 이 특성을 사용 하 여 사용자가 필수 구성 요소 패키지를 찾을 수 있도록 합니다.
AnyAttribute*–가 Dependency 요소를 제한 하지 않고 런타임 이름-값 쌍의 사전에 노출 되는 특성 집합을 사용 합니다.
자산 요소
이 요소의 목록이 <Asset> 대 두이 패키지를 통해 각 확장 또는 콘텐츠 요소에 대 한 태그입니다.
<Asset>-이 요소는 다음과 같은 특성 및 요소를 포함:
Type-이 종류를 확장 하거나이 요소에 의해 표시 되는 내용입니다. 각 <Asset> 요소가 하나만 있어야 Type, 있지만 여러 <Asset> 요소 같은 가질 수 Type. 이 특성은 정규화 된 이름으로 네임 스페이스 규칙에 따라 나타내야 합니다. 알려진된 형식은 다음과 같습니다.
Microsoft.VisualStudio.Package
Microsoft.VisualStudio.MefComponent
Microsoft.VisualStudio.ToolboxControl
Microsoft.VisualStudio.Samples
Microsoft.VisualStudio.ProjectTemplate
Microsoft.VisualStudio.ItemTemplate
Microsoft.VisualStudio.Assembly
사용자 지정 종류를 만들고 각각 다른 이름을 수 있습니다. Visual Studio 내부 런타임 시 코드 열거 하 고 확장 관리자 API를 통해 이러한 사용자 지정 형식에 액세스할 수 있습니다.
경로에 파일이 나 폴더에 에셋을 포함 하는 패키지 내에서 상대 경로입니다.
AnyAttribute*–는 개방형 특성 집합을 이름 / 값 쌍 사전으로 런타임 시에 노출 될 수 있습니다.
<AnyElement>*-구조화 된 콘텐츠 사이 사용할 수 있는 <Asset> 시작 및 끝 태그. 모든 요소는 XmlElement 개체의 목록으로 노출 됩니다. VSIX 확장 매니페스트 파일에 구조화 된 형식별 메타 데이터를 정의 하 고 런타임에 열거 수 있습니다.
매니페스트의 예제
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0">
<Metadata>
<Identity Version="2.1.40307.0" Id="Fabrikam.Application.Extension1" Language="us-en" Publisher="Fabrikam" />
<DisplayName>Test Extension Package</DisplayName>
<Description>This is my extension description.</Description>
<MoreInfo>http://www.fabrikam.com/Extension1/</MoreInfo>
<License>eula.rtf</License>
<ReleaseNotes>notes.txt</ReleaseNotes>
<Icon>Images\icon.png</Icon>
<PreviewImage>Images\preview.png</PreviewImage>
<Tags>foo, bar</Tags>
<GettingStartedGuide>http://www.fabrikam.com/guide.htm</GettingStartedGuide>
</Metadata>
<Installation AllUsers="false" SystemComponent="false">
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[10.0-11.0]" />
</Installation>
<Dependencies>
<Dependency Id="another.package" Version="[1.2-2.0)" />
<Dependency Id="Microsoft.Framework.NDP" Version="[4.0-5.0)" />
<Dependency Id="mypackage.package" Version="[1.0-2.0)" DisplayName="MyCoolTool" Location="http://www.fabrikam.com/download/mycooltool.msi" />
</Dependencies>
<Assets>
<Asset Type="Microsoft.VisualStudio.Package" Path="mypackage.pkgdef" />
<Asset Type="Microsoft.VisualStudio.MEFComponent" Path="mycomponent.dll" />
<Asset Type="Microsoft.VisualStudio.ToolboxControl" Path="mycontrol.pkgdef" />
</Assets>
</PackageManifest>