Localisation : API « Pubternal » supprimées
Pour mieux gérer la surface d’API publique de ASP.NET Core, certaines API de localisation "pubternal" ont été supprimées. Une API "pubternal" a un modificateur d’accèspublic
et est définie dans un espace de noms qui implique une intention interne.
Pour plus d’informations, consultez dotnet/aspnetcore#22291.
Version introduite
5.0 Préversion 6
Ancien comportement
Les API suivantes étaient public
:
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
Microsoft.Extensions.Localization.Internal.IResourceStringProvider
- Surcharges de constructeur
Microsoft.Extensions.Localization.ResourceManagerStringLocalizer
acceptant l’un des types de paramètres suivants :AssemblyWrapper
IResourceStringProvider
Nouveau comportement
La liste suivante présente les changements :
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
est devenuMicrosoft.Extensions.Localization.AssemblyWrapper
et est maintenantinternal
.Microsoft.Extensions.Localization.Internal.IResourceStringProvider
est devenuMicrosoft.Extensions.Localization.Internal.IResourceStringProvider
et est maintenantinternal
.- Les surcharges de constructeur
Microsoft.Extensions.Localization.ResourceManagerStringLocalizer
acceptant l’un des types de paramètres suivants, sont désormaisinternal
:AssemblyWrapper
IResourceStringProvider
Raison du changement
Expliqué plus en détail dans aspnet/Announcements#377, les types "pubternal" ont été supprimés de la surface de l’API public
. Ces changements adaptent davantage de classes à cette décision de conception. Les classes en question étaient destinées à servir de points d’extension pour les tests internes de l’équipe.
Action recommandée
Bien qu’il soit peu probable, certaines applications peuvent intentionnellement ou accidentellement dépendre des types "pubternal". Consultez les sections Nouveau comportement pour déterminer comment migrer hors des types.
Si vous avez identifié un scénario autorisé par l’API publique avant ce changement, mais pas maintenant, créez un problème sur dotnet/aspnetcore.
API affectées
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
Microsoft.Extensions.Localization.Internal.IResourceStringProvider
- ResourceManagerStringLocalizer.ResourceManagerStringLocalizer