Les API de nom fort lèvent l’exception PlatformNotSupportedException
Article
Quelques API qui ne sont pas prises en charge dans .NET/.NET Core, mais qui n’ont rien fait lors de l’accès ont été modifiées pour lever un PlatformNotSupportedException au moment de l’exécution. Auparavant, l’utilisation de ces API finissait par entraîner une exception à l’exécution plus loin. L’exception est maintenant levée lorsque le type est instancié ou consulté pour la première fois.
Auparavant, une application qui appelait l’API était compilée et exécutée, mais dès que l’instance était utilisée dans n’importe quel chemin de code, elle lançait une exception à l’exécution. Pour qu’il soit plus explicite 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 d’instances. Si aucune instance n’est créée, l’exception est également levée dans des points d’entrée publics qui retournent ce type, autrement dit, 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.
Notes
.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 s’exécute également sur .NET Framework), l’utilisation de noms forts est une bonne idée pour la compatibilité entre les runtimes. .NET Framework continue d’utiliser des noms forts si l’application appelante porte un nom fort. Vous pouvez utiliser les assemblies de noms forts dans toutes les versions de .NET à l’aide de l’outil Sn.exe. Pour plus d’informations, consultez Signature de nom fort.
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Cet article vous montre comment référencer des types ou des ressources dans un assembly .NET avec un nom fort, au moment de la compilation ou de l’exécution.
Cet article décrit la signature différée ou partielle, qui réserve de l’espace dans le fichier PE pour la signature de nom fort, mais diffère la signature réelle.
Cet article vous montre comment signer un assembly .NET avec un nom fort à l’aide de l’onglet Signature, de l’éditeur de liens d’assembly, des attributs d’assembly ou des options du compilateur.