Vig*_*ind 14 azure-devops azure-pipelines
我有一个 ASP.NET Core 2.1 并添加了 Microsoft.WindowsAzure.Storage 的 nuget 包,但是在将代码推送到 repo 后,构建管道在运行构建代理时发生包错误,是否有必要在构建中添加任何其他代理除 BUILD、RESTORE、TEST 和 PUBLISH 之外的管道。
信息:Azure Pipelines 托管代理已更新为包含 .Net Core 3.x SDK/Runtime 以及 2.2 和 2.1。除非您已锁定项目的 SDK 版本,否则可能会选择 3.x SDK,与以前的版本相比,它可能具有破坏性行为。
这是它在运行管道时显示的错误。
Lan*_*SFT 15
正如错误信息所指示的那样,不建议调用latest 3.x sdk以恢复、构建、测试、发布您的目标为asp .net core 2.1.
虽然在大多数情况下构建可以通过,但发布步骤(任务)可能会遇到这个问题:
要解决此问题:
我们应该.net core在运行任务之前指定我们想要使用的sdk 版本restore,build,test,publish......
我们可以像这样在其他 .net core 任务之前添加一个use .net core sdk 任务,以获取.net core 2.1.x相关版本来执行以下任务,而不是使用.net core 3.x sdk:
经典界面:
指定2.1.x+Include Preview Versions将选择最新版本的 2.1 sdk。
亚姆:
如果您使用 yaml 格式而不是经典 UI 格式来配置管道,则其 yaml 格式类似于以下内容:
steps:
- task: UseDotNet@2
displayName: 'Use .Net Core sdk 2.1.x'
inputs:
packageType: sdk
version: 2.1.x
installationPath: $(Agent.ToolsDirectory)/dotnet
includePreviewVersions: true
Run Code Online (Sandbox Code Playgroud)
希望它有所帮助,如果我有任何误解,请随时纠正我:)
小智 6
我在 2.1.505 版本中遇到了同样的问题,现在我在使用 3.1.101 版本的同时,在我的 yaml 管道中对 .NET Core 的变量和安装程序步骤使用以下配置,它解决了我的问题。
variables:
buildConfiguration: 'Release'
dotnetSdkVersion: '3.1.101'
steps:
- task: DotNetCoreInstaller@0
displayName: 'Use .NET Core SDK $(dotnetSdkVersion)'
inputs:
version: '$(dotnetSdkVersion)'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10879 次 |
| 最近记录: |