Azure管道中的.NetCore,VisualStudio构建和MSBuild任务之间的区别?

时间:2019-05-16 10:23:32

标签: .net-core azure-devops continuous-integration

我正在为.Net Core项目创建一个新的CI Azure管道。在Azure管道中,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构建任务有一个版本控制子任务,但这也可以通过单独的自定义任务来实现。

1 个答案:

答案 0 :(得分:1)

  

.Azure管道中的.NetCore,VisualStudio构建和MSBuild任务之间的区别?

我们知道,dotnet建立在msbuild之上,我们可以使用msbuild tasks来调用dotnet CLI

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

可以肯定的是,dotnet具有msbuild中未包含的某些功能。此时,dotnet newdotnet更易于使用。

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

因此,当我们在没有特殊需要的情况下构建项目/解决方案时,dotnet SDK.net core task只是一个问题。

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

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

因此,简而言之,MSBuild task是建立在dotnet之上的,而msbuild是Visual Studio的一部分,这就是您可以使用MSBuild和Visual Studio进行构建的原因。网络核心项目。

检查this thread了解更多详细信息。

希望这会有所帮助。

相关问题