Paz*_*a22 7 build-tools nuget .net-core azure-devops azure-devops-hosted-agent
我们的 azure devops 管道配置为使用托管的 ubuntu-latest
我正在使用需要包的 Azure Functions: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.**
Run Code Online (Sandbox Code Playgroud)
当将池更改为在本地构建代理上运行时,我能够安装最新的构建工具(Visual Studio 2022 预览版附带的工具)并且一切正常。 我的问题是如何让 ubuntu-latest 拥有最新的 dotnet 构建工具?
这是ubuntu-latest 代理的dotnet info的输出。
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
Run Code Online (Sandbox Code Playgroud)
ziv*_*kan 14
在管道定义中使用它:
- task: UseDotNet@2
displayName: 'Use .NET Core sdk'
inputs:
version: 6.0.x
includePreviewVersions: true
Run Code Online (Sandbox Code Playgroud)
解释一下,首先 Visual Studio 只能在 Windows 上运行,因此您无法在 Linux 上安装 Visual Studio,但这没关系,因为您实际上只需要 .NET SDK。其次,Visual Studio 2022 和 .NET 6 都处于预览状态。
接下来,Azure DevOps 记录了其所有托管代理上预安装的软件:https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted ?view=azure-devops&tabs=yaml#软件
如果您点击Ubuntu 20.04(最新)上的 .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 进入 GA,安装预览版 6.0.x 工具的脚本将开始安装预览版 6.0.200 预览版
| 归档时间: |
|
| 查看次数: |
4201 次 |
| 最近记录: |