Problemas no Azure DevOps Pipeline para instalar o SDK.NET Core 3.1.426

felipe baloneker 0 Pontos de reputação
2025-05-15T14:44:49.2133333+00:00

Estou utilizando a task UseDotNet@2 em um pipeline do Azure DevOps para instalar o SDK do .NET Core 3.1.426 em uma imagem hospedada windows-2022. No entanto, a instalação está falhando com o seguinte erro:
##[error]Failed while installing version: 3.1.426 at path: C:\hostedtoolcache\windows\dotnet with error: TypeError: paths.flat is not a function

Gostaria de confirmar se houve alguma alteração recente na imagem windows-2022 (atualmente na versão 20250504.1.0) ou na task UseDotNet@2 que possa estar causando essa falha. Vale destacar que o mesmo pipeline funcionava corretamente até a versão 20250427.1.0 da imagem.

Além disso, gostaria de saber como devo proceder para resolver o problema, seja por meio de alguma correção temporária ou alternativa de instalação manual.

Azure
Azure
Uma plataforma de computação em nuvem e uma infraestrutura para criar, implantar e gerenciar aplicativos e serviços por meio de uma rede mundial de datacenters gerenciados pela Microsoft.
148 perguntas
0 comentários Sem comentários
{count} votos

1 resposta

Classificar por: Mais útil
  1. Dio Xavier 5,450 Pontos de reputação Moderador Voluntário
    2025-05-18T15:59:39.6133333+00:00

    Olá

    Bem vindo à Comunidade Microsoft Q&A

    Tudo bem, Felipe? A mensagem de erro indica uma incompatibilidade introduzida por atualizações recentes na imagem do agente hospedado.

    Causa Provável

    O método Array.prototype.flat() foi introduzido no ECMAScript 2019 e não é suportado em versões mais antigas do Node.js. Se a task UseDotNet@2 ou scripts relacionados utilizam esse método, e a imagem do agente possui uma versão do Node.js que não o suporta, isso resultará no erro mencionado. A mudança de comportamento entre as versões 20250427.1.0 (funcional) e 20250504.1.0 (com erro) da imagem windows-2022 sugere uma atualização na versão do Node.js ou em dependências relacionadas.

    Soluções Recomendadas

    1. Verificar a Versão do Node.js na Imagem Atualizada:
      • Adicione um passo no pipeline para exibir a versão do Node.js:
             - script: node -v
        

    displayName: 'Verificar versão do Node.js' ```

    • Se a versão for inferior à 12, considere atualizar o Node.js ou utilizar uma imagem de agente diferente.
    1. Atualizar a Task UseDotNet@2:
      • Certifique-se de que está utilizando a versão mais recente da task UseDotNet@2, pois atualizações podem conter correções para compatibilidade com versões mais recentes do Node.js.
    2. Utilizar uma Imagem de Agente Anterior:
      • Como solução temporária, altere a imagem do agente para uma versão anterior que funcionava corretamente:
             pool:
        

    vmImage: 'windows-2022' ```

     *Nota: Especifique a versão exata da imagem se possível para garantir consistência.*
     
    
    1. Instalação Manual do SDK do .NET Core:
      • Como alternativa, instale o SDK manualmente utilizando scripts no pipeline:
             - powershell: |
        
      Invoke-WebRequest -Uri https://download.visualstudio.microsoft.com/download/pr/9f5e3e8e-5e4e-4c3f-9e3b-2b8f3e8e5e4e/dotnet-sdk-3.1.426-win-x64.exe -OutFile dotnet-sdk-3.1.426-win-x64.exe Start-Process -FilePath .\dotnet-sdk-3.1.426-win-x64.exe -ArgumentList "/quiet" -Wait displayName: 'Instalar .NET Core SDK 3.1.426'
           
         - Após a instalação, adicione o caminho do SDK ao `PATH` se necessário.
         
      
    2. É recomendável reportar esse problema ao suporte da Microsoft ou abrir uma issue no repositório do Azure Pipelines Tasks no GitHub para que a equipe responsável possa investigar e, se necessário, corrigir a incompatibilidade.

    Para mais informações sobre a task UseDotNet@2, consulte a documentação oficial.([Microsoft Learn](https://learn.microsoft.com/pt-br/azure/devops/pipelines/tasks/reference/use-dotnet-v2?view=azure-pipelines&utm_source=chatgpt.com"UseDotNet@2 – Usar a tarefa dotnet v2 | Microsoft Learn"))


Sua resposta

As respostas podem ser marcadas como Respostas Aceitas pelo autor da pergunta, o que ajuda os usuários a saber a resposta que resolveu o problema do autor.