2017-02-11 103 views

回答

6

執行完佈局更新到脫機緩存,佈局 緩存文件夾可能有一些過時的包,不再需要通過最新的Visual Studio安裝 。您可以使用--clean 選項從脫機緩存文件夾中刪除過時的程序包。

Microsft Docs: How to remove older versions from a layout

+0

本應該從一開始就有的功能。猜猜我將不得不做一個新的,完整的下載開始利用這一點。 – avenmore

+0

不要做一個新鮮的......它會正常工作......我使用的是第一個版本的相同佈局文件夾 –

+1

文檔說在存檔下應該有一個GUID文件夾,用於您運行的每個更新。自第一次發佈以來,我已經多次運行它(並且該文件夾的大小增加了一倍),但最新更新後只有一個GUID文件夾。文檔不清楚這個第一次創建是否足以從歷史更新中刪除所有過時的文件。 – avenmore

5

您可以使用新的--clean選項。您將需要文件路徑來對包含那些過時包的清單進行編目。您可以在離線版式緩存中的Archive文件夾中找到目錄清單。

當您更新佈局時,它們被保存在那裏。在「存檔」文件夾中,有一個或多個GUID命名文件夾,每個文件夾都包含一個過時的目錄清單。 GUID文件夾的數量應與對您的脫機緩存進行更新的次數相同。

幾個文件保存在每個GUID文件夾內。最感興趣的兩個文件是catalog.json文件和version.txt文件。 catalog.json文件是您需要傳遞給--clean選項的過時目錄清單。其他version.txt文件包含此過時目錄清單的版本。根據版本號,您可以決定是否要從此目錄清單中刪除過時的軟件包。您可以在通過其他GUID文件夾時執行相同的操作。在對要清理的目錄做出決定後,通過向這些目錄提供文件路徑來運行--clean命令。

例子:

vs_enterprise.exe --layout <layoutDir> --clean <file-path-of-catalog1> <file-path-of-catalog2> … 

vs_enterprise.exe --layout <layoutDir> --clean <file-path-of-catalog1> --clean <file-path-of-catalog2> … 

您也可以調用vs_enterprise.exe<layoutDir>.這裏面有一個例子:

c:\VS2017Layout\vs_enterprise.exe --layout c:\VS2017Layout --clean c:\VS2017Layout\Archive\1cd70189-fc55-4583-8ad8-a2711e928325\Catalog.json --clean c:\VS2017Layout\Archive\d420889f-6aad-4ba4-99e4-ed7833795a10\Catalog.json 

當你執行這個命令,安裝程序分析您的脫機緩存文件夾中找到列表它將刪除的文件。然後您將有機會查看將要刪除的文件並確認刪除。

+0

這是最近的一項功能嗎?我只有一個GUID,如果我選擇它進行清理,它說一大堆當前文件將被刪除。我想我必須從頭開始下載所有的東西才能在將來使用這個功能。 – Damien

+1

是的。這是一項新功能。 不需要。您不必再次下載整個軟件包。任何更新進度後,將在'''Archive'''文件夾下創建一個新文件夾。您可以使用該目錄清除舊包。 – Arman

+0

@Arman刪除那個存檔文件夾後安全嗎?我看到它在該文件夾中只有JSON文件。 – LoneWOLFs