Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Algumas APIs que não são suportadas em .NET/.NET Core mas que não faziam nada quando acedidas foram alteradas para agora lançar um PlatformNotSupportedException em tempo de execução. Anteriormente, usar estas APIs acabaria por resultar numa exceção em tempo de execução mais avançada; a exceção é agora lançada quando o tipo é instanciado ou acedido pela primeira vez.
Comportamento anterior
Em versões anteriores, ligar AssemblyName.KeyPair ou StrongNameKeyPair(Byte[]) era um no-op. Chamar StrongNameKeyPair(FileStream) leu o fluxo, mas de outra forma não fez nada.
Novo comportamento
A partir do .NET 6, cada uma das três APIs afetadas lança um PlatformNotSupportedException em tempo de execução.
Versão introduzida
.NET 6
Tipo de mudança disruptiva
Essa alteração pode afetar a compatibilidade binária.
Motivo da mudança
Anteriormente, uma aplicação que chamava a API compilava e corria, mas assim que a instância era usada em qualquer caminho de código, lançava uma exceção em tempo de execução. Para tornar mais explícito que esse cenário não tem suporte, a lógica de lançamento de exceção foi movida para o construtor de instância. Caso nenhuma instância seja criada, a exceção também é lançada em pontos de entrada públicos que retornam esse tipo, ou seja, AssemblyName.KeyPair.
Ação recomendada
A assinatura de nome forte não é suportada no .NET/.NET Core e não há solução alternativa.
Observação
O .NET Core/5+ nunca verifica assinaturas em seu tempo de execução. No entanto, se você estiver direcionando bibliotecas entre plataformas (por exemplo, um pacote de autenticação básico destinado ao .NET Standard 2.0, portanto, ele também é executado no .NET Framework), a nomenclatura forte é uma boa ideia para compatibilidade entre tempos de execução. O .NET Framework continua a impor nomenclatura forte se o aplicativo de chamada tiver nome forte. Você pode dar nome forte às assemblies em todas as versões do .NET usando a ferramenta Sn.exe. Para obter mais informações, consulte Assinatura de nome forte.