.NET 11: onde a espera por pacotes realmente atua
Uma espera configurada precisa ter um ponto de aplicação conhecido. Relacione dependências, exceções e artefato entregue antes de usar a configuração como indicador de confiança.
Read in EnglishPor Pentesty
A decisão começa antes da atualização
Uma equipe que entrega faturamento por contêiner pode ter três responsáveis diferentes: quem escolhe bibliotecas, quem monta a imagem e quem autoriza a publicação. Propomos tratar essas decisões como etapas relacionadas. Em uma mudança urgente, a empresa precisa saber qual delas foi abreviada e quem assumiu a revisão correspondente.
A política atual da Microsoft apresenta .NET 11 como STS, com dois anos de suporte, e mantém .NET 10 como LTS. .NET 8 e 9 encerraram o suporte em 10 de novembro de 2026. A escolha empresarial deve incluir prazo de manutenção, dependências e capacidade de acompanhar correções.
A espera tem um ponto de aplicação
No NuGet, a idade mínima filtra escolhas automáticas de versão em comandos compatíveis. Uma versão solicitada explicitamente passa por outro caminho. O restore comum também não verifica essa idade, inclusive para dependências transitivas; referências flutuantes podem falhar com NU1020. Portanto, esse controle não fecha sozinho a entrada de pacotes recentes.
Antes de adotar uma espera, liste como cada repositório recebe atualizações: decisão humana, ferramenta de atualização ou alteração direta em arquivo. Para cada caminho, escolha uma evidência de revisão e um responsável. Uma ferramenta que apenas restaurou dependências não deve receber, no relatório interno, crédito por uma aprovação que ninguém examinou.
A configuração efetiva também pode mudar
O arquivo nuget.config permite definir minPublishAgeHours por fonte. A configuração de maior prioridade pode redefinir a fonte e zerar a espera se omitir o atributo. As exceções por pacote abrangem todas as suas versões e todas as fontes; uma lista mais próxima substitui a herdada. Revise o resultado efetivo, incluindo exceções.
Uma proposta prática é separar uma autorização temporária de uma alteração permanente de política. Registre o pacote, a versão, o motivo comercial e a próxima revisão. Se uma equipe precisar antecipar uma correção, peça uma decisão rastreável sobre aquela entrega. Evite transformar a urgência de um projeto em uma dispensa indefinida para toda a organização.
Compare o resultado que será distribuído
Para contêineres, a documentação do SDK orienta fixar SOURCE_DATE_EPOCH para obter o mesmo digest em publicações independentes com os mesmos insumos. Isso permite propor uma comparação entre builds. Um digest coincidente comprova igualdade do resultado comparado; a empresa ainda precisa justificar por que escolheu aqueles insumos.
A documentação de pacotes deterministas trata separadamente o arquivo nupkg: timestamps dos arquivos podem alterar o resultado, e DeterministicTimestamp permite fixá-los. Guarde esse valor junto à origem e ao pacote de referência. A comparação de pacote e a comparação de imagem devem identificar claramente qual artefato foi examinado.
Defina uma entrega que outra equipe consiga reconstruir
Para um piloto, escolha um serviço com responsável disponível e uma dependência que possa ser alterada em ambiente autorizado. Entregue a outro profissional os insumos aprovados, a configuração usada e o artefato esperado. Peça que explique divergências antes de ampliar o processo. O objetivo é tornar uma decisão de confiança discutível com evidências concretas.
A apresentação do .NET 11 também distingue funcionalidades estáveis de componentes experimentais de IA para Blazor e integração AG-UI em pré-lançamento. Não inclua esses componentes em uma autorização geral de produção apenas porque o SDK chegou à versão final. Defina um escopo próprio para a sua avaliação.
No relatório de entrega, proponha indicadores que descrevam decisões: mudanças de dependência com revisor identificado, exceções com prazo e comparações de artefatos concluídas. Mantenha visível a rota usada em cada mudança. Se uma entrega urgente não percorreu o caminho habitual, apresente a revisão alternativa feita para aquele serviço e a pessoa que poderá responder por ela na próxima manutenção.
Perguntas frequentes
A idade mínima vale para todo restore?
Não. O restore comum não aplica essa verificação, inclusive a dependências transitivas; referências flutuantes têm comportamento específico documentado pelo NuGet.
Um digest igual prova que o pacote é confiável?
A comparação verifica o resultado entre os artefatos observados. A decisão sobre procedência, revisão e uso autorizado continua necessária.
Devemos migrar todos os serviços imediatamente?
Planeje a transição por dependências e suporte. Inventarie os serviços, atribua responsáveis e escolha uma janela que permita investigar diferenças operacionais.
Como tratar uma exceção urgente?
Identifique a entrega e o responsável pela revisão, explique o motivo e marque uma nova avaliação. Uma necessidade temporária deve ter encerramento definido.
Fontes e referências
- Microsoft: suporte do runtime
- NuGet: limites da espera
- NuGet: fontes e exceções
- Microsoft: publicação de contêineres
- NuGet: pacote reproduzível
- Microsoft: lançamento do .NET 11
Análise original da Pentesty, publicada em 12 de novembro de 2026. Os cenários propostos são orientações editoriais, com escopo e validação a definir para cada ambiente.