Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os scripts dnx e dnx.cmd não usam mais o muxer do .NET para selecionar a versão do SDK. Em vez disso, eles encontram o SDK instalado mais recente e o invocam diretamente, o que ignora qualquer global.json arquivo no diretório de trabalho.
Versão introduzida
.NET 10 SDK 10.0.302, 10.0.400 e .NET 11 Versão Prévia 6
Comportamento anterior
Anteriormente, os scripts dnx invocavam dotnet dnx, que dependiam do muxer do .NET para selecionar a versão do SDK com base em qualquer arquivo global.json no diretório de trabalho. Se global.json fixou uma versão do SDK que antecedeu .NET 10, os scripts falharam com o seguinte erro:
Unrecognized command or argument 'execute'
A partir do SDK 10.0.302 do .NET 10 (e versões posteriores) e do .NET 11 Preview 6, os scripts dnx e dnx.cmd usam dotnet --list-sdks para identificar o SDK mais recente instalado. Eles então invocam dotnet exec <sdk-path>/dotnet.dll dnx diretamente, ignorando o multiplexador .NET e qualquer fixação de SDK global.json.
Tipo de mudança disruptiva
Esta é uma alteração comportamental.
Motivo da alteração
Alguns comandos da CLI .NET, incluindodnx, são considerados recursos independentes de versão que sempre devem ser executados com o SDK instalado mais recente. Depender de global.json significava que os usuários que fixavam uma versão mais antiga do SDK para reduzir o risco de alterações que afetam a compilação também quebravam inadvertidamente dnx. Em pastas onde um SDK anterior ao .NET 10 estava fixado, o comando dnx não estava disponível, o que causava erros confusos e, em alguns casos, timeouts em ferramentas como a CLI do Copilot.
Ação recomendada
Para restaurar o comportamento anterior, em que o .NET muxer e global.json controlam a seleção do SDK, execute dotnet dnx explicitamente em vez do script dnx.
APIs afetadas
Nenhum.