Anatomia pakietu VSIX

Pakiet VSIX to .vsix plik zawierający co najmniej jedno rozszerzenie programu Visual Studio, wraz z metadanymi używanymi przez program Visual Studio do klasyfikowania i instalowania rozszerzeń. Te metadane znajdują się w manifeście VSIX i pliku [Content_Types].xml . Pakiet VSIX może również zawierać jeden lub więcej plików Extension.vsixlangpack w celu zapewnienia zlokalizowanego tekstu instalacyjnego i może zawierać dodatkowe pakiety VSIX do zainstalowania zależności.

Format pakietu VSIX jest zgodny ze standardem Open Packaging Conventions (OPC). Pakiet zawiera pliki binarne i pliki pomocnicze wraz z plikiem [Content_Types].xml i plikiem manifestu .vsix . Jeden pakiet VSIX może zawierać dane wyjściowe wielu projektów, a nawet wiele pakietów, które mają własne manifesty.

Uwaga

Nazwy plików zawartych w pakietach VSIX nie mogą zawierać spacji ani znaków zarezerwowanych w identyfikatorach URI (Uniform Resource Identifiers), zgodnie z definicją w obszarze [RFC2396].

Manifest VSIX

Manifest VSIX zawiera informacje o rozszerzeniu do zainstalowania i jest zgodny ze schematem VSIX. Aby uzyskać więcej informacji, zobacz Dokumentacja schematu rozszerzenia VSIX 2.0.

Manifest VSIX musi być nazwany extension.vsixmanifest , gdy znajduje się w .vsix pliku.

Zawartość

Pakiet VSIX może zawierać szablony, elementy przybornika, pakiety VSPackage lub dowolne inne rozszerzenie obsługiwane przez program Visual Studio.

Pakiety językowe

Pakiet VSIX może zawierać co najmniej jeden plik Extension.vsixlangpack w celu zapewnienia zlokalizowanego tekstu podczas instalacji. Aby uzyskać więcej informacji, zobacz Lokalizowanie pakietów VSIX.

Zależności i odwołania

Pakiet VSIX może zawierać inne pakiety VSIX jako odwołania. Każdy z tych innych pakietów musi zawierać własny manifest VSIX.

Jeśli użytkownik spróbuje zainstalować rozszerzenie, które ma zależności, instalator sprawdza, czy wymagane zestawy są zainstalowane w systemie użytkownika. Jeśli wymagane zestawy nie zostaną znalezione, rozszerzenia i Aktualizacje wyświetla listę brakujących zestawów.

Jeśli manifest rozszerzenia zawiera co najmniej jeden element Zależności, rozszerzenia i Aktualizacje porównuje manifest każdego odwołania do rozszerzeń zainstalowanych w systemie i instaluje przywoływane rozszerzenie, jeśli nie jest jeszcze zainstalowane. Jeśli zainstalowano starszą wersję przywoływanego rozszerzenia, nowsza wersja go zastępuje.

Jeśli projekt w rozwiązaniu wieloprojektowym zawiera odwołanie do innego projektu w tym samym rozwiązaniu, pakiet VSIX zawiera zależności tego projektu. To zachowanie można zastąpić, wybierając odwołanie do projektu wewnętrznego, a następnie w oknie Właściwości ustaw właściwość Grupy wyjściowe uwzględnione we właściwości VSIX na BuiltProjectOutputGroupwartość .

Aby uwzględnić biblioteki DLL satelitarne z zestawów, do których odwołują się odwołania w pakiecie VSIX, dodaj SatelliteDllsProjectOutputGroup do właściwości Grupy wyjściowe uwzględnione w vsIX .

Lokalizacja instalacji

Podczas instalacji rozszerzenia i Aktualizacje wyszukują zawartość pakietu VSIX w folderze w obszarze %LocalAppData%\Microsoft\VisualStudio\{version}\Extensions.

Domyślnie instalacja ma zastosowanie tylko do bieżącego użytkownika, ponieważ %LocalAppData% jest katalogiem specyficznym dla użytkownika. Jeśli jednak ustawisz element manifestu AllUsers na True, rozszerzenie zostanie zainstalowane w obszarze ..\{VisualStudioInstallationFolder}\Common7\IDE\Extensions i będzie dostępne dla wszystkich użytkowników komputera.

[Content_Types].xml

Plik [Content_Types].xml identyfikuje typy plików w rozszerzonym .vsix pliku. Program Visual Studio używa tego pliku podczas instalacji pakietu, ale nie instaluje samego pliku. Aby uzyskać więcej informacji na temat tego pliku, zobacz Struktura [Content_types].xml pliku.

Plik [Content_Types].xml jest wymagany przez standard Open Packaging Conventions (OPC). Aby uzyskać więcej informacji na temat OPC, zobacz OPC: nowy standard pakowania danych.