【问题标题】:Build .NETCORE 1.0 api application in the pipeline在管道中构建 .NETCORE 1.0 api 应用程序
【发布时间】:2020-04-16 17:43:26
【问题描述】:

我在 azure 中托管的应用程序使用旧的 .NETCORE 1.0 SDK。一个多月没有任何提交,当我今天提交一些更改时,它未能构建。我检查了管道,发现它在 Run dotnet 上失败并出现此错误

适用于 global.json 版本的兼容已安装 .NET Core SDK 未找到来自 [D:\a\1\s\global.json] 的 [1.0.0-preview2-003131]。

这是否意味着 azure devops 不再支持 .NETCORE 1.0?我是否需要升级应用程序才能使用 .NETCORE 2.x?

任何帮助将不胜感激。 干杯

【问题讨论】:

  • 即使您找到了让 Azure devops 与 .NETCORE 1.0 一起使用的方法,我还是建议您将应用程序迁移到 .NETCORE 3.1。以前的版本已经过时了。
  • 谢谢,那可能需要考虑搬家了
  • dotnet.microsoft.com/download/dotnet-core .NET Core 1.x 早已死去。
  • 您好 ednu,这个问题有更新吗?如果您需要任何进一步的帮助,请随时告诉我。

标签: .net-core azure-devops azure-pipelines


【解决方案1】:

有几个托管代理,不同的代理安装了不同的软件。可以在此处找到代理列表: https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops

window 2019 托管代理安装了以下软件: https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md

window 2016 托管代理安装了以下软件: https://github.com/actions/virtual-environments/blob/master/images/win/Windows2016-Readme.md

正如您在列表中看到的,Windows 2016 托管代理仍然安装了 .net Core 1.0 版本。如果无法将您的项目更新到新的 .net Core 版本,您或许可以在此代理上构建您的项目。

您可以使用以下 yaml 将代理设置为构建到 windows 2016:

jobs:
- job: Build_Web
  pool:
    vmImage: 'vs2017-win2016'

【讨论】:

  • 感谢您的回复。我实际上选择了 vs2017-win2016 托管代理并得到了那个错误。在那个错误之后,进程实际上试图找到 sdk,但根据打印的 sdk,最旧的是 1.1.14
  • 在这种情况下,您有 2 个选项。使用带有您需要安装的 sdk 的私有代理,或更新您的应用程序以使用更新版本的 sdk
【解决方案2】:

同意 PaulVrugt,如果您确实想使用 .net core 1,您应该使用 Windows 2016 hosted agent 来构建您的应用程序。

但您可能还需要在管道的第一个任务中额外添加一个Use .net core Task 来指定您要使用的版本。

此任务可用于更改.NET Core cli task 等后续任务中使用的 .NET Core 版本。这是必要的,因为 Azure Devops 将自动选择最新版本的 .net core sdk,除非您使用此任务让管道知道您想在后续任务中使用哪个版本的 sdk。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-03
    • 2022-01-10
    • 2018-12-26
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多