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.
Algumas APIs que não têm suporte no .NET/.NET Core, mas não faziam nada quando acessadas foram alteradas para agora gerar um erro em tempo de execução. Anteriormente, o uso dessas APIs eventualmente resultaria em uma exceção de runtime mais adiante; a exceção agora é gerada quando o tipo é instanciado ou acessado pela primeira vez.
Comportamento anterior
Em versões anteriores, a chamada de AssemblyName.KeyPair ou StrongNameKeyPair(Byte[]) não era uma operação. Chamar StrongNameKeyPair(FileStream) lia o fluxo, mas de outra forma não fazia nada.
Novo comportamento
A partir do .NET 6, cada uma das três APIs afetadas lança uma PlatformNotSupportedException no runtime.
Versão introduzida
.NET 6
Tipo de mudança disruptiva
Essa alteração pode afetar a compatibilidade binária.
Motivo da alteração
Anteriormente, um aplicativo que chamava a API era compilado e executado, mas assim que a instância era usada em qualquer caminho de código, ele lançava uma exceção de runtime. Para deixar mais explícito que esse cenário não é suportado, a lógica de lançamento de exceções foi movida para o construtor de instância. Caso nenhuma instância seja criada, a exceção também será gerada em pontos de entrada públicos que retornam esse tipo, ou seja, AssemblyName.KeyPair.
Ação recomendada
Não há suporte para assinatura de nome forte no .NET/.NET Core e não há solução alternativa.
Observação
O .NET Core/5+ nunca verifica assinaturas em seu runtime. Por outro lado, se você estiver visando bibliotecas multiplataforma (por exemplo, um pacote de autenticação básico que visa o .NET Standard 2.0, portanto, ele também é executado no .NET Framework), a nomeação forte é uma boa ideia para compatibilidade entre runtimes. O .NET Framework continuará impondo uma nomenclatura forte se o aplicativo de chamada for de nome forte. Você pode atribuir nomes fortes a assemblies em todas as versões do .NET usando a ferramenta Sn.exe. Para saber mais, confira Assinatura de nome forte.