Eventos
Crie aplicativos e agentes de IA
17 de mar., 21 - 21 de mar., 10
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Este artigo se aplica a: ✔️ SDK do .NET Core 2.1.100 e versões posteriores
Esse erro ocorre quando as ferramentas de compilação não conseguem encontrar a versão do SDK do .NET necessária para compilar um projeto. Normalmente, isso ocorre devido a um problema de instalação ou configuração do SDK do .NET. A mensagem de erro completa é semelhante ao seguinte exemplo:
NETSDK1045: o SDK do .NET atual não é compatível com 'versão mais recente' como destino. Direcione a 'versão mais antiga' ou anterior ou use uma versão do SDK do .NET compatível com a 'versão mais recente'.
As seções a seguir descrevem alguns dos possíveis motivos para esse erro. Verifique cada um deles e veja qual se aplica a você. Lembre-se de que, ao fazer alterações no ambiente ou nos arquivos de configuração, talvez seja necessário reiniciar as janelas de comando, reiniciar o Visual Studio ou reinicializar o computador para que as alterações entrem em vigor.
Abra o arquivo de projeto (.csproj, .vbproj ou .fsproj) e verifique a estrutura de destino. Essa é a versão da estrutura que o aplicativo está tentando usar.
<TargetFramework>netcoreapp3.0</TargetFramework>
Verifique se a versão do .NET listada foi instalada no computador. Você pode listar as versões instaladas usando o seguinte comando (abra um Prompt de Comando do Desenvolvedor e execute este comando):
dotnet --list-sdks
Cada versão do SDK do .NET está disponível nas arquiteturas x86 e x64. O projeto pode estar tentando localizar o SDK do .NET da arquitetura errada ou o SDK do .NET da arquitetura necessária para o projeto pode não estar instalado. Verifique as pastas de instalação da arquitetura necessária. Por exemplo, no Windows, a versão x86 do SDK do .NET foi instalada em C:\Program Files (x86)\dotnet e a versão x64 foi instalada em C:\Program Files\dotnet. Veja Como verificar se o .NET já foi instalado e escolha o sistema operacional para descobrir como detectar o que foi instalado no computador.
Se a versão necessária não foi instalada, localize a que você precisa na página Downloads do .NET.
O SDK do .NET pode ter sido instalado com o Visual Studio 2022, portanto, a atualização para uma versão posterior do Visual Studio pode instalar um SDK do .NET posterior e resolver esse erro. Para obter mais informações, confira Atualizar o Visual Studio.
Se você tiver uma versão prévia instalada da versão solicitada do SDK do .NET, também precisará definir a opção de habilitar as versões prévias no Visual Studio. Acesse Ferramentas>Opções>Ambiente>Versão Prévia do Recurso e verifique se a opção Usar versões prévias do SDK do .NET Core foi marcada.
Por exemplo, o .NET Core 3.0 e posteriores exigem o Visual Studio 2019. Atualize para o Visual Studio 2019 versão 16.3 ou posterior, para criar o projeto.
As ferramentas de compilação usam a variável de ambiente PATH, para encontrar a versão certa das ferramentas de compilação do .NET. Se a variável de ambiente PATH contiver caminhos diretos para ferramentas de compilação mais antigas, esta mensagem de erro pode ser exibida. Verifique se o único caminho para as ferramentas do .NET na variável de ambiente PATH é para a pasta dotnet de nível superior, por exemplo, C:\Program Files\dotnet. Um exemplo de um PATH incorreto seria algo semelhante a C:\Program Files\dotnet\2.1.0\sdks.
Verifique a variável de ambiente MSBuildSDKPath. Essa variável de ambiente opcional é reconhecida pelo MSBuild e, se definida, substitui o valor padrão. Ela pode ser definida como uma versão mais antiga específica do SDK do .NET. Se estiver definida, tente excluí-la e recompilar o projeto.
Verifique se há um arquivo global.json na pasta raiz em seu projeto e em sua solução e suba a cadeia de diretórios até a raiz do volume, pois ele pode estar em qualquer lugar na estrutura de pastas. Se ele contiver uma versão do SDK, exclua o nó de sdk
e todos os filhos ou atualize-o para a versão mais recente desejada do .NET Core.
{
"sdk": {
"version": "2.1.0"
}
}
O arquivo global.json não é necessário. Portanto, se ele não contiver nada além do nó sdk
, você pode excluir todo o arquivo.
O arquivo Directory.build.props é um arquivo opcional do MSBuild, que pode definir propriedades globais. Verifique esses arquivos na pasta da solução e na cadeia de diretórios até a raiz do volume, pois eles podem estar em qualquer lugar na estrutura de pastas. Procure os elementos TargetFramework
ou configurações de MSBuildSDKPath
que possam substituir as configurações desejadas.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários:
Eventos
Crie aplicativos e agentes de IA
17 de mar., 21 - 21 de mar., 10
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agora