匯入或匯出安裝組態

您可以使用安裝組態檔來設定 Visual Studio 安裝的內容。 若要這樣做,只需使用 Visual Studio 安裝程式將工作負載、元件和 Marketplace 延伸模組資訊匯出到 .vsconfig 檔案中即可。 獲得 *.vsconfig 檔案後,您可以手動進一步優化它並新增或刪除其他項目。 *.vsconfig 檔案的結構與語法如下所述。 您也可以將組態檔匯入到新的或現有的 Visual Studio 安裝中、使用組態來建立或修改配置或離線安裝、將組態放入方案目錄或存放庫並針對缺少的元件觸發安裝作業,以及與其他人共用組態。

使用 Visual Studio 安裝程式匯出組態

您可以從先前安裝的 Visual Studio 執行個體中匯出安裝組態檔。

注意

從 Visual Studio 2022 17.10 版 Preview 開始,您現在可以將已載入執行個體範圍內容的 Visual Studio Marketplace 延伸模組匯出到 *.vsconfig 檔案中。 如果您希望 export 功能能夠匯出其他類型的延伸模組,例如從網路共用載入的延伸模組,或在使用者內容中載入的延伸模組,請告知我們

使用 Visual Studio 安裝程式 UI

  1. 開啟 Visual Studio 安裝程式。

  2. 在產品卡上,選擇 [更多] 按鈕,然後再選取 [匯出設定]

    從 Visual Studio 安裝程式中的產品卡匯出設定

  3. 瀏覽至或鍵入您要儲存 .vsconfig 檔案的位置,然後選擇 [檢閱詳細資料]

    從 Visual Studio 安裝程式匯出設定

  4. 確認您的選取項目正確無誤,然後選擇匯出

    顯示 [匯出] 視窗的螢幕擷取畫面。

以程式設計方式匯出組態檔

您可以使用從命令列 export 文件中安裝 Visual Studio 中所述 的動詞,以程式設計方式 匯出特定 Visual Studio 執行個體的組態檔。

使用 Visual Studio 安裝程式匯入組態

您可以將安裝組態檔匯入到先前安裝的 Visual Studio 執行個體中,也可以使用組態檔初始化 Visual Studio 的新安裝。 將組態檔匯入到 Visual Studio 將會安裝列在組態檔中但尚未安裝的任何項目。

使用 Visual Studio 安裝程式 UI

準備好匯入安裝組態檔時,請遵循下列步驟。

  1. 開啟 Visual Studio 安裝程式並關閉 Visual Studio。 大部分的安裝程式作業都需要關閉 Visual Studio 產品本身。

  2. 在 [已安裝] 索引標籤或 [可用的] 索引標籤上,選取 Visual Studio 產品卡片上的 [更多>匯入組態]

  3. 找出要匯入的 .vsconfig 檔案,然後選擇檢閱詳細資料

  4. 確認您的選取項目正確無誤,然後選擇修改

以程式設計的方式使用組態檔將元件新增至現有的安裝

您可以使用 --config 參數初始化或修改現有的安裝並新增元件。 下列範例會使用用戶端電腦上的安裝程式來修改 (modify) 現有的安裝。

"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modify --installPath "C:\Program Files\Microsoft Visual Studio\2022\Professional" --config "C:\myconfig.vsconfig" --passive --allowUnsignedExtensions

注意

若要使用設定檔 (*.vsconfig) 將元件新增至現有的安裝,必須 modify 已安裝的產品,而不是updateUpdate 只會將現有的已安裝元件更新為最新版本。 若要深入了解不同的安裝程式作業,請參閱從命令列安裝 Visual Studio 文件。

使用組態檔初始化配置的內容

使用與您想要之 Visual Studio 版本和版次對應的正確啟動載入器、開啟系統管理員命令提示字元並執行下列命令,以使用 --config 參數來設定配置的內容: 如需使用 *.vsconfig 檔案從配置初始化和安裝的詳細資訊,請參閱這裡

vs_enterprise.exe --layout "c:\localVSlayout" --config "c:\myconfig.vsconfig" --lang en-US

使用組態檔自動安裝缺少的元件

如果您將 *.vsconfig 檔案儲存到方案根目錄中,然後開啟方案,Visual Studio 將會自動偵測任何缺少的元件並提示您安裝它們。

注意

[注意!]:如果您的 *.vsconfig 檔案包含延伸模組,那麼目前只有 Visual Studio Marketplace 託管的延伸模組會觸發自動偵測並安裝「缺少元件」的作業。 如果您想要此邏輯包含從非 Marketplace 位置安裝的延伸模組,請在這裡提供案例的詳細資料

[方案總管] 建議使用其他元件

您還可以直接從 [方案總管] 中產生 *.vsconfig 檔案。

  1. 以滑鼠右鍵按一下您的方案檔案。

  2. 選擇 [新增]> [安裝組態檔]

  3. 確認您要儲存 .vsconfig 檔案的位置,然後選擇 [檢閱詳細資料]

  4. 請確定您已獲得所需的工作負載和元件,然後選擇 [匯出]

我們還建立了一個開放原始碼的工具,它可以遞歸地定位 Visual Studio 安裝組態 *.vsconfig 檔案並將它們全部合併在一起。 您可以在這裡找到更多關於 VSConfigFinder 工具的資訊

vsconfig 檔案格式

*.vsconfig 檔案是一種 json 檔案格式,其中包含元件區段和選擇性的延伸模組區段。 元件區段包含工作負載和元件,如下所示:

{
  "version": "1.0", 
  "components": [ 
    "Microsoft.VisualStudio.Component.CoreEditor", 
    "Microsoft.VisualStudio.Workload.CoreEditor", 
    "Microsoft.VisualStudio.Component.NuGet" 
    ] 
}

擴充

Visual Studio 2022 17.9 版開始,您就可以在 *.vsconfig 檔案中指定延伸模組,並使用 Visual Studio 安裝程式將它們載入電腦範圍,讓所有使用者都能使用。 從 Visual Studio 2022 17.10 版 Preview 開始,您可以使用 Visual Studio 安裝程式,將已載入執行個體範圍內容的 Visual Studio Marketplace 延伸模組匯出 (export) 到 *.vsconfig 檔案中,如先前所述

關於組態檔中支援的延伸模組有一些已知的注意事項。

  1. 由於透過組態檔載入的延伸模組是安裝在執行個體範圍,因此若要安裝,您必須具有系統管理員權限,或者透過 AllowStandardUserControl 原則被授與安裝程式控制權,才能安裝它們。 請注意,先前由 Visual Studio 延伸模組管理員安裝的任何延伸模組都能夠 (並且通常) 針對個別使用者安裝,而不是安裝在執行個體範圍,而且使用者不需要具有系統管理員權限就能安裝。
  2. Visual Studio 安裝程式目前只支援匯入某些類型的延伸模組,例如 *.vsix 封裝中包含的延伸模組,或是不太「複雜」的延伸模組。 如果您有無法透過組態檔正確載入的延伸模組,請透過新的開發人員社群建議讓我們知道。
  3. 如果 *.vsconfig 檔案位於方案目錄中,則只有 Visual Studio Marketplace 託管的延伸模組會觸發自動偵測並安裝「缺少元件」的作業。 如果您想要此邏輯包含從非 Marketplace 位置安裝的延伸模組,請在這裡提供案例的詳細資料
  4. 如果您以程式設計方式使用 *.vsconfig 檔案新增新增延伸模組,那麼您還需要使用新的 --allowUnsignedExtensions 參數來允許簽署的延伸模組載入到 --passive--quiet 內容中。 如果從配置安裝,則可以"allowUnsignedExtensions" : true 語法新增至 response.json 檔案中以實現類似的效果。

所有執行個體範圍的延伸模組通常會透過排程工作大約一天自動更新一次。 您可以在這裡找到詳細資訊。

包含延伸模組的 .vsconfig 檔案格式應如下所示。

{
  "version": "1.0", 
  "components": [ 
    // Whatever components you want to install come here, in quotes, separated by commas.
    // You can use the installer to select the components you want to install and then export them,
    // Or you can specify the ones you want according to the [component-id's](https://learn.microsoft.com/en-us/visualstudio/install/workload-and-component-ids).
    // This array should not be null! If you don't want to install any component, just leave the array empty.
  ],
  "extensions": [
    // The extensions you want to install are specified in this section, in quotes, separated by commas.
    // Extensions are optional in .vsconfig, so if you don't want any, you can delete the entire extensions section.
    // The extensions must be in a *.vsix package
    // Make sure that the extensions you specify are designed to work with that version of Visual Studio.
    // examples below
    "https://marketplace.visualstudio.com/items?itemName=MadsKristensen.ImageOptimizer64bit",   //unsigned extension
    "https://marketplace.visualstudio.com/items?itemName=vsext.RegexMatchVisualizer",  //signed extension
    "c:\\mylocaldrive\\someextension.vsix",
    "\\\\server\\share\\myextension.vsix",
    "https://myweb/anotherextension.vsix"
  ]
}

支援或疑難排解

有時可能會發生一些問題。 若 Visual Studio 安裝失敗,請參閱針對 Visual Studio 安裝和升級問題進行疑難排解,以取得逐步指導方針。

以下是一些支援選項: