簡體   English   中英

Azure Devops - 托管池 - ubuntu 最新 - 如何讓 ubuntu-latest 擁有最新的 Visual Studio 構建工具(2022 年預覽版)?

[英]Azure Devops - Hosted pool - ubuntu latest - How do i get ubuntu-latest to have the latest visual studio build tools (preview 2022)?

我們的 azure devops 管道配置為使用托管的 ubuntu-latest

vmImage: 'ubuntu-最新'

我正在使用需要包的 Azure 函數:packages/microsoft.net.sdk.functions/4.0.0 托管的 ubuntu 最新版本拋出不兼容的框架版本錯誤。

 /home/vsts/.nuget/packages/microsoft.net.sdk.functions/4.0.0/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5):
 error : It was not possible to find any compatible framework version 
 /home/vsts/.nuget/packages/microsoft.net.sdk.functions/4.0.0/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5):
 error : The framework 'Microsoft.NETCore.App', version
 '6.0.0-rc.1.21451.13' was not found.**

Azure DevOps 錯誤圖像

當更改池以在本地構建代理上運行時,我能夠安裝最新的構建工具(visual studio 2022 預覽版附帶的工具)並且一切正常。 我的問題是如何讓 ubuntu-latest 擁有最新的 dotnet 構建工具?

這是 ubuntu-latest 代理的dotnet 信息的輸出。

2021-10-27T04:54:16.4629465Z .NET SDKs installed:
2021-10-27T04:54:16.4630372Z   2.1.302 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4630865Z   2.1.403 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4631327Z   2.1.526 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4631821Z   2.1.617 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4632292Z   2.1.701 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4632746Z   2.1.818 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4633218Z   3.1.120 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4633687Z   3.1.202 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4634147Z   3.1.302 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4634616Z   3.1.414 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4635086Z   5.0.104 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4635541Z   5.0.208 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4636008Z   5.0.303 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4636462Z   5.0.402 [/usr/share/dotnet/sdk]
2021-10-27T04:54:16.4636703Z 
2021-10-27T04:54:16.4637082Z .NET runtimes installed:
2021-10-27T04:54:16.4637683Z   Microsoft.AspNetCore.All 2.1.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
2021-10-27T04:54:16.4638405Z   Microsoft.AspNetCore.All 2.1.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
2021-10-27T04:54:16.4639112Z   Microsoft.AspNetCore.All 2.1.12 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
2021-10-27T04:54:16.4639839Z   Microsoft.AspNetCore.All 2.1.24 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
2021-10-27T04:54:16.4640553Z   Microsoft.AspNetCore.All 2.1.30 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
2021-10-27T04:54:16.4641691Z   Microsoft.AspNetCore.App 2.1.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
2021-10-27T04:54:16.4642420Z   Microsoft.AspNetCore.App 2.1.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
2021-10-27T04:54:16.4643130Z   Microsoft.AspNetCore.App 2.1.12 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
2021-10-27T04:54:16.4643823Z   Microsoft.AspNetCore.App 2.1.24 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
2021-10-27T04:54:16.4644541Z   Microsoft.AspNetCore.App 2.1.30 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
2021-10-27T04:54:16.4645263Z   Microsoft.AspNetCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
2021-10-27T04:54:16.4645958Z   Microsoft.AspNetCore.App 3.1.6 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
2021-10-27T04:54:16.4646889Z   Microsoft.AspNetCore.App 3.1.20 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
2021-10-27T04:54:16.4647598Z   Microsoft.AspNetCore.App 5.0.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
2021-10-27T04:54:16.4648286Z   Microsoft.AspNetCore.App 5.0.9 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
2021-10-27T04:54:16.4648995Z   Microsoft.AspNetCore.App 5.0.11 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
2021-10-27T04:54:16.4649693Z   Microsoft.NETCore.App 2.1.2 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
2021-10-27T04:54:16.4650357Z   Microsoft.NETCore.App 2.1.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
2021-10-27T04:54:16.4651045Z   Microsoft.NETCore.App 2.1.12 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
2021-10-27T04:54:16.4651737Z   Microsoft.NETCore.App 2.1.24 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
2021-10-27T04:54:16.4652407Z   Microsoft.NETCore.App 2.1.30 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
2021-10-27T04:54:16.4653101Z   Microsoft.NETCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
2021-10-27T04:54:16.4653781Z   Microsoft.NETCore.App 3.1.6 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
2021-10-27T04:54:16.4654445Z   Microsoft.NETCore.App 3.1.20 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
2021-10-27T04:54:16.4655124Z   Microsoft.NETCore.App 5.0.4 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
2021-10-27T04:54:16.4655799Z   Microsoft.NETCore.App 5.0.9 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
2021-10-27T04:54:16.4656459Z   Microsoft.NETCore.App 5.0.11 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
2021-10-27T04:54:16.4656807Z 

在您的管道定義中使用它:

- task: UseDotNet@2
  displayName: 'Use .NET Core sdk'
  inputs:
    version: 6.0.x
    includePreviewVersions: true

解釋一下,首先 Visual Studio 只能在 Windows 上運行,所以你不能在 Linux 上安裝 Visual Studio,但這很好,因為你實際上只想要 .NET SDK。 其次,Visual Studio 2022 和 .NET 6 都處於預覽階段。

接下來,Azure DevOps 記錄了在其所有托管代理上預安裝了哪些軟件: https ://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs =yaml#軟件

如果您點擊Ubuntu 20.04 (latest) 上的 .NET Core SDK鏈接,您會看到它們只預安裝了 .NET SDK 的通用(GA;已發布)版本,而不是預覽版本。 畢竟,大多數構建生產應用程序的客戶不希望冒使用可能存在錯誤和破壞構建的預覽工具的風險。

因此,如果您想要預覽 .NET SDK,您需要在構建步驟中明確安裝它。 UseDotNet 任務就是這樣做的,允許您指定一堆參數,但在這種情況下,最重要的兩個是版本和包含預覽版本。

對於其他方案,例如任何不使用 Azure Pipelines 的人,.NET 團隊也有dotnet-install 腳本,您可以下載並在您的管道中執行。

值得一提的是, .NET 6 將於 11 月 9 日至 11 日舉行發布會,而Visual Studio 2022 將於 11 月 8 日舉行發布會 我不知道 Azure DevOps 會以多快的速度使用新發布的工具更新他們的 VM 映像,但我想它會在幾天內完成,因此在構建腳本中安裝預覽工具的時間不會太長,除非您想繼續使用預覽工具。 請注意,一旦 .NET 6 SDK 的 6.0.100 正式發布,安裝預覽版 6.0.x 工具的腳本將開始安裝預覽版 6.0.200 預覽版

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM