对Visual Studio工作负载,组件和包的了解

时间:2019-01-22 11:44:01

标签: visual-studio build msbuild package

当我检查来自不同计算机的某些VS安装程序日志以检查差异时 例如:dd_setup_2019123333.log:

有些行像:

> Package: Microsoft.Net.Core.SDK.MSBuildExtensions,version=15.9.28307.51,
> CurrentState: Absent, RequestedState: Present, DetectionState: Absent,
> PlannedAction: Install.

还将有更多条目和带有更详细步骤的dd_setup_201911312323_Microsoft.Net.Core.SDK.MSBuildExtensions.log文件。

如何找到依赖于该程序包的VS工作负载或组件,以便能够通过定义VS组件来正确安装它?我还能在哪里找到该软件包的来源?

如果我要检查,反之亦然:

> Property: InstallationWorkloads, value:
> Microsoft.VisualStudio.Workload.CoreEditor,Microsoft.VisualStudio.Workload.ManagedDesktop,Microsoft.VisualStudio.Workload.NetWeb

第二个问题:我在哪里可以找到,例如Microsoft.VisualStudio.Workload.NetWeb

编辑: 第二个问题的答案主要是here

1 个答案:

答案 0 :(得分:2)

首先,请允许我介绍软件包,组件和工作负载之间的关系。

如果我们安装工作负载,则该工作负载需要安装一些组件,建议其中一些组件是可选的。

如果我们安装一个组件,则将为该组件安装几个软件包。

例如:如果我安装了组件"Microsoft.VisualStudio.Component.Unity",则除了“ Microsoft.VisualStudio.Component.Unity”软件包外,还将安装一些具有依赖性的软件包,例如“ SyntaxTree.VisualStudio.Unity.Msi,version=3.9.0.3”软件包。 (我们可以在C:\ProgramData\Microsoft\VisualStudio\Packages中找到它们)

  

如何找到VS工作负载或依赖于此的组件   包装?

对于大多数软件包,我们可以根据本文档找到依赖于它的组件和工作量。 但是,对于程序包" Microsoft.Net.Core.SDK.MSBuildExtensions",它似乎是组件程序包所依赖或位于sdk中的程序包。因此,我们不仅无法准确确定包装属于哪个组件,因为不仅有一个组件或工作量都取决于它。

如下图所示:我们可以通过日志找到依赖于它的工作负载和组件。

enter image description here

  

我还能在哪里找到该软件包的来源?

在日志中,您可以检查是否有下载网址供您手动安装。我找到了下载网址(for version=15.9.28307.272): https://download.visualstudio.microsoft.com/download/pr/b78321cf-2968-49be-a845-fb99347d436e/f938871be0a92ffda7bf6bb1f8c2015f/payload.vsix希望对您有所帮助。

  

我在哪里可以找到,例如   Microsoft.VisualStudio.Workload.NetWeb?

您可以找到它们here