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.
O .NET não procura mais por arquivos de manifesto de ferramentas locais na pasta raiz no Windows, a menos que seja substituído pela variável de ambiente DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT. Essa alteração não afeta o Linux ou o macOS.
Comportamento anterior
Anteriormente, as ferramentas locais do SDK do .NET verificavam a pasta raiz em todas as plataformas quando procuravam por um manifesto de ferramentas. A pesquisa continuou do diretório atual subindo pela árvore de diretórios até a pasta raiz até encontrar um manifesto. Em cada nível, o .NET pesquisa o manifesto da ferramenta, chamado dotnet-tools.json, em uma subpasta.config . Em um sistema Windows, se nenhum outro manifesto de ferramenta foi encontrado, o SDK procurou um manifesto de ferramenta em C:\.config\dotnet-tools.json.
Novo comportamento
O .NET não pesquisa mais por padrão na pasta raiz da árvore de diretório atual no Windows, a menos que seja substituído por meio da variável de ambiente DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT.
DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT é definido como false por padrão.
Versão introduzida
- SDK do .NET 7.0.3xx
- SDK do .NET 7.0.1xx
- SDK do .NET 6.0.4xx
- .NET 6.0.3xx SDK
- SDK do .NET 6.0.1xx
- SDK do .NET 3.1.4xx
Tipo de mudança disruptiva
Esta é uma alteração comportamental.
Motivo da alteração
Essa alteração foi feita para resolver uma preocupação de segurança. Como todos os usuários podem criar arquivos e pastas no diretório C:\ no Windows, invasores de baixo privilégio podem seqüestrar o C:\.config\dotnet-tools.jsno arquivo. Quando um administrador executa um dotnet comando de ferramenta, a ferramenta pode potencialmente ler informações de configuração mal-intencionadas do arquivo e baixar e executar ferramentas mal-intencionadas.
Ação recomendada
Para desabilitar o novo comportamento, defina a variável de DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT ambiente como true ou 1.