Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os pacotes NuGet do motor de modelos do SDK .NET já não se destinam a netstandard2.0. Projetos que consumiram estes pacotes através do destino netstandard2.0 e que não têm como destino um dos frameworks restantes já não os podem utilizar.
Versão introduzida
.NET 11 Prévia 4
Comportamento anterior
Anteriormente, para suportar a utilização por projetos destinados a .NET Standard 2.0 (incluindo .NET Framework 4.6.1+ e .NET Core 2.0+), os seguintes pacotes incluíam um destino netstandard2.0:
Microsoft.TemplateEngine.AbstractionsMicrosoft.TemplateEngine.CoreMicrosoft.TemplateEngine.Core.ContractsMicrosoft.TemplateEngine.EdgeMicrosoft.TemplateEngine.Orchestrator.RunnableProjectsMicrosoft.TemplateEngine.UtilsMicrosoft.TemplateEngine.IDEMicrosoft.TemplateLocalizer.Core
Novo comportamento
A partir de .NET 11, estes pacotes visam apenas net9.0, net11.0 e net472. Projetos que anteriormente consumiam estes pacotes através do netstandard2.0 target e não visam um destes frameworks remanescentes já não conseguem referenciar estes pacotes.
Tipo de mudança disruptiva
Essa alteração pode afetar a compatibilidade de origem e a compatibilidade binária.
Motivo da mudança
Os pacotes do SDK do cliente NuGet (NuGet.*) deixaram de ter como destino netstandard2.0 a partir da versão 7.0.
Microsoft.TemplateEngine.Edge depende dos pacotes NuGet (NuGet.Configuration, NuGet.Credentials e NuGet.Protocol), o que tornou cada vez mais difícil manter a compatibilidade netstandard2.0. Para evitar conflitos de dependências transitivas, o projeto teve de fixar estes pacotes em versões mais antigas e desativar CentralPackageTransitivePinningEnabled. Ao remover netstandard2.0, elimina-se esta restrição e permite-se que os pacotes se mantenham atualizados em relação às suas dependências.
Para mais contexto, veja dotnet/sdk#54041.
Ação recomendada
Atualize o projeto que o consome para ter como destino o net9.0 ou uma versão mais recente, ou o net472 ou uma versão mais recente (.NET Framework). Se dependesse do alvo netstandard2.0 para consumir estes pacotes a partir de uma biblioteca de classes .NET Standard, redireciona essa biblioteca para um dos frameworks suportados.
APIs afetadas
Todas as APIs públicas nos pacotes afetados mantêm-se iguais. Apenas os frameworks de destino suportados mudaram.