VSIX 套件的結構
VSIX 套件是 .vsix
包含一或多個 Visual Studio 延伸模組的檔案,以及 Visual Studio 用來分類及安裝延伸模組的元數據。 該元數據包含在 VSIX 指令清單和 [Content_Types].xml 檔案中。 VSIX 套件也可能包含一或多個 Extension.vsixlangpack 檔案,以提供本地化的安裝文字,而且可能包含其他 VSIX 套件來安裝相依性。
VSIX 套件格式遵循開放式封裝慣例 (OPC) 標準。 套件包含二進位檔和支援檔案,以及 [Content_Types].xml 檔案和 .vsix
指令清單檔案。 一個 VSIX 套件可能包含多個項目的輸出,甚至包含具有自己指令清單的多個套件。
注意
VSIX 套件中包含的檔名不得包含空格,也不能包含統一資源標識碼 (URI) 中所保留的字元,如 [RFC2396] 所定義。
VSIX 指令清單
VSIX 指令清單包含要安裝之延伸模組的相關信息,並遵循 VSIX 架構。 如需詳細資訊,請參閱 VSIX 延伸模組架構 2.0 參考。
VSIX 指令清單必須在檔案中包含.vsix
時命名extension.vsixmanifest
。
內容
VSIX 套件可能包含範本、工具箱專案、VSPackages 或 Visual Studio 所支援的任何其他擴充功能。
語言套件
VSIX 套件可能包含一或多個 Extension.vsixlangpack 檔案,以在安裝期間提供本地化的文字。 如需詳細資訊,請參閱 本地化 VSIX 套件。
相依性和參考
VSIX 套件可能包含其他 VSIX 套件作為參考。 每個其他套件都必須包含自己的 VSIX 指令清單。
如果使用者嘗試安裝具有相依性的擴充功能,安裝程式會確認必要元件已安裝在用戶系統上。 如果找不到必要的元件,則延伸模組和 更新 會顯示遺漏元件的清單。
如果延伸模組指令清單包含一或多個 Dependency 元素,則 Extensions 和 更新 會比較每個參考的指令清單與系統上所安裝的延伸模組,並在尚未安裝時安裝參考的延伸模組。 如果已安裝舊版的參考延伸模組,則較新版本會取代它。
如果多專案方案中的專案包含相同方案中另一個項目的參考,VSIX 套件會包含該專案的相依性。 您可以選取內部項目的參考,然後在 [屬性] 視窗中,將 VSIX 屬性中包含的輸出群組設定為 BuiltProjectOutputGroup
,以覆寫此行為。
若要在 VSIX 套件中包含來自參考元件的附屬 DLL,請將 新增 SatelliteDllsProjectOutputGroup
至 VSIX 屬性中包含的輸出群組。
安裝位置
在安裝期間,延伸模組和 更新 會在的%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) 標準需要 [Content_Types].xml 檔案。 如需 OPC 的詳細資訊,請參閱 OPC:封裝數據的新標準。