Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Quelques API qui ne sont pas prises en charge dans .NET/.NET Core, mais qui n’avaient aucun effet lors de l'accès, ont été modifiées pour lancer une PlatformNotSupportedException à l’exécution. Auparavant, l’utilisation de ces API entraînerait une exception d’exécution plus loin ; l’exception est maintenant levée lorsque le type est instancié ou consulté pour la première fois.
Comportement précédent
Dans les versions précédentes, appeler AssemblyName.KeyPair ou StrongNameKeyPair(Byte[]) était une absence d’opération. L’appel à StrongNameKeyPair(FileStream) à lu le flux, mais n’a rien fait d’autre.
Nouveau comportement
À partir de .NET 6, au moment de l'exécution, chacune des trois API concernées génère une PlatformNotSupportedException exception.
Version introduite
.NET 6
Type de changement cassant
Cette modification peut affecter la compatibilité binaire.
Raison de la modification
Auparavant, une application qui appelait l’API compilait et s'exécutait, mais dès que l’instance était utilisée dans n’importe quel chemin de code, elle levait une exception au moment de l'exécution. Pour rendre plus explicite le fait que ce scénario n’est pas pris en charge, la logique de levée d’exception a été déplacée dans le constructeur de l’instance. Si aucune instance n’est créée, l’exception est également levée dans les points d’entrée publics qui retournent ce type, c’est-à-dire AssemblyName.KeyPair.
Action recommandée
La signature de nom fort n’est pas prise en charge dans .NET/.NET Core et il n’existe aucune solution de contournement.
Remarque
.NET Core/5+ ne vérifie jamais les signatures dans son runtime. Toutefois, si vous ciblez des bibliothèques multiplateformes (par exemple, un package d’authentification de base qui cible .NET Standard 2.0, afin qu'il puisse également s'exécuter sur .NET Framework), le nommage fort est une bonne idée pour la compatibilité entre les environnements d'exécution. .NET Framework continue d’appliquer l’utilisation de noms forts si l’application appelante utilise un nom fort. Vous pouvez utiliser des noms forts pour les assemblys dans toutes les versions de .NET à l’aide de l’outil Sn.exe. Pour plus d’informations, consultez Signature avec un nom fort.