Dot-Net-Core

Azure Pipeline 中 .NetCore、VisualStudio 建構和 MSBuild 任務之間的區別?

  • October 21, 2019

我正在為我的 .Net Core 項目創建一個新的 CI Azure 管道。在 Azure 管道中,微軟提供了三個建構任務,即 .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 建構任務有一個版本控制子任務,但這也可以通過單獨的自定義任務來實現。

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),我們只需要 useMSBuild 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 核心項目的原因。

檢查此執行緒以獲取更多詳細資訊。

希望這可以幫助。

引用自:https://stackoverflow.com/questions/56166335