我正在为.Net Core项目创建一个新的CI Azure管道。在Azure管道中,Microsoft提供了三个构建任务,即.Net Core,Visual Studio Build和MSBuild。
既然所有这三个任务都可以构建操作,那么我们是否有任何特定标准选择一个任务而不是另一个任务?
我已经阅读了Microsoft提供的文档,但是找不到很多细节。
修改 注意:我知道Visual Studio构建任务有一个版本控制子任务,但这也可以通过单独的自定义任务来实现。
答案 0 :(得分:1)
.Azure管道中的.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
和.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了解更多详细信息。
希望这会有所帮助。