.net core Azure管道中.NetCore、VisualStudio生成和MSBuild任务之间的差异?

.net core Azure管道中.NetCore、VisualStudio生成和MSBuild任务之间的差异?,.net-core,azure-devops,continuous-integration,azure-pipelines,.net Core,Azure Devops,Continuous Integration,Azure Pipelines,我正在为我的.Net核心项目创建一个新的CI Azure管道。在Azure管道中,Microsoft为构建提供了三个任务,即.Net核心、Visual Studio构建和MSBuild 既然这三个任务都是构建操作,那么我们有什么具体的标准来选择一个任务而不是另一个任务吗 我已经阅读了微软提供的文档,但找不到关于这方面的详细信息 编辑 注意:我知道VisualStudioBuild任务有一个版本控制子任务,但这也可以通过单独的自定义任务来实现 Azure管道中.NetCore、VisualStu

我正在为我的.Net核心项目创建一个新的CI Azure管道。在Azure管道中,Microsoft为构建提供了三个任务,即.Net核心、Visual Studio构建和MSBuild

既然这三个任务都是构建操作,那么我们有什么具体的标准来选择一个任务而不是另一个任务吗

我已经阅读了微软提供的文档,但找不到关于这方面的详细信息

编辑 注意:我知道VisualStudioBuild任务有一个版本控制子任务,但这也可以通过单独的自定义任务来实现

Azure管道中.NetCore、VisualStudio生成和MSBuild任务之间的差异

我们知道,
dotnet
是在
msbuild
之上构建的,我们可以使用
dotnet CLI
调用
msbuild任务

这就是为什么您可以使用
MSBuild task
.Net Core task
来构建项目/解决方案的原因

毫无疑问,
dotnet
具有一些
msbuild
中没有的功能,比如
dotnet new
。此时,
dotnet
msbuild
更易于使用

但是,如果我们构建一些
.net
项目(不是
.net core
),我们只需要使用
MSBuild task
而不是
.net core task
。因为我们不需要安装不必要的
dotnetsdk

因此,当我们在没有特殊需求的情况下构建项目/解决方案时,
.net核心任务
msbuild任务
只是一个品味问题

另一方面,
MSBuild
是Visual Studio的一部分,当我们使用Visual Studio构建项目/解决方案时,它将调用
MSBuild
来执行一些构建任务以完成构建项目/解决方案

有时,我们不希望在构建服务器上安装完整的Visual Studio,而只是为了构建项目/解决方案,在这种情况下,我们可以使用
MSBuild任务
在服务器上构建项目/解决方案,而不是安装完整的Visual Studio

简而言之,
dotnet
是在
msbuild
之上构建的,
msbuild
是Visual Studio的一部分,这就是为什么可以使用msbuild和Visual Studio构建.net核心项目的原因

查看更多详细信息


希望这有帮助。

您说项目是.Net核心,Microsoft提供.Net核心任务,那么为什么要使用其他任务呢?其他任务也可以用于构建.Net核心项目。Microsoft是否提供了指导原则,说明为什么要在其他两项任务中使用它?