Azure Pipeline 中 .NetCore、VisualStudio 构建和 MSBuild 任务之间的区别?

R.S*_*rma 11 continuous-integration .net-core azure-devops azure-pipelines

我正在为我的 .Net Core 项目创建一个新的 CI Azure Pipeline。在 Azure Pipeline 中,Microsoft 提供了三个用于构建的任务,即 .Net Core、Visual Studio Build 和 MSBuild。

由于所有三个任务都执行构建操作,我们是否有任何特定标准来选择一项任务而不是另一项任务?

我已经浏览了 Microsoft 提供的文档,但我找不到关于此的详细信息。

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/visual-studio-build?view=azure-devops

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

Leo*_*SFT 16

Azure Pipeline 中 .NetCore、VisualStudio 构建和 MSBuild 任务之间的区别?

众所周知,它dotnet是建立在 之上的msbuild,我们可以msbuild tasks使用dotnet CLI.

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

确实,dotnet有一些功能是无法在msbuild像dotnet new。在这一点上,dotnet比 更容易使用msbuild。

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

因此,当我们在没有特殊需求的情况下构建项目/解决方案时,the.net core task和 themsbuild task只是品味问题。

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

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

所以简而言之,它dotnet是建立在Visual Studio之上msbuild并且MSBuild是 Visual Studio 的一部分,这就是您可以使用 MSBuild 和 Visual Studio 来构建 .net 核心项目的原因。

检查此线程以获取更多详细信息。

希望这可以帮助。